zoukankan      html  css  js  c++  java
  • 视频流媒体播放器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视频播放界面:

  • 相关阅读:
    MVC新手指南
    BufferedReader方法-----Scanner方法
    sin=in.readLine();
    STL:string 大小(Size)和容量(Capacity)
    2014=9=24 连接数据库2
    2014=9=24 连接数据库1
    常用英语单词
    Linux权限详解(chmod、600、644、666、700、711、755、777、4755、6755、7755)
    linux 常用快捷键
    启动sh文件注意的问题
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/13206508.html
Copyright © 2011-2022 走看看