• 视频流媒体播放器EasyPlayerRTSP安卓版SurfaceTexture内存释放问题解决


    SurfaceTexture 类是在 Android 3.0 中推出的。当创建 SurfaceTexture 时,会创建一个应用是其消耗方的 BufferQueue。如果生产方将新的缓冲区加入队列,服务器便会通过回调 (onFrameAvailable()) 获得通知。服务器调用updateTexImage()(这会释放先前保留的缓冲区),从队列中获取新的缓冲区,然后发出一些 EGL 调用,让缓冲区可作为外部纹理供 GLES 使用。

    视频流媒体播放器EasyPlayer-RTSP的安卓版本在使用SurfaceTexture 类时,碰到了内存释放的难题。本文我们来分享一下怎么释放内存。

    EasyPlayer-RTSP-Android SurfaceTexture内存释放问题

    之前为了解决视频流媒体播放器EasyPlayer-RTSP播放画面可以无缝衔接的问题,在onSurfaceTextureDestroyed中保存了SurfaceTexture,但是这样,texture就释放不掉,导致内存泄漏。

    解决问题

    在SurfaceTextureListener的onSurfaceTextureDestroyed方法中,不要保存texture,退出播放后即可释放这些内存:

    视频流媒体服务器在安防、互联网、教育、录播、IPTV等多个领域实现了广泛应用,EasyPlayer是一款精炼、高效、稳定的流媒体播放器,其中EasyPlayerPro已经实现了H265编码视频的播放。EasyPlayer还有RTSP版本,能够集成到各平台进行视频播放。

    EasyPlayerJS视频播放界面:

  • 相关阅读:
    BZOJ 2034 【2009国家集训队】 最大收益
    vijos P1780 【NOIP2012】 开车旅行
    BZOJ 2115 【WC2011】 Xor
    BZOJ 3631 【JLOI2014】 松鼠的新家
    BZOJ 4717 改装
    BZOJ 2957 楼房重建
    BZOJ 4034 【HAOI2015】 T2
    BZOJ 1834 【ZJOI2010】 network 网络扩容
    BZOJ 2440 【中山市选2011】 完全平方数
    BZOJ 2733 【HNOI2012】 永无乡
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/13206508.html
Copyright © 2020-2023  润新知