OpenGL崩溃问题

我们项目有直播这一块,我调试过程中发现,将直播推入后台一段时间,然后在切入到程序后,程序就会崩溃掉,崩溃日志包含gpus_ReturnNotPermittedKillClient

原因是由于ios不支持处于background的后台view进行OpenGL渲染。所以切后台之前要调用glfinish,将缓冲区中的指令(无论是否为满)立刻送给图形硬件执行,glfinish会等待图形硬件执行完才返回。

另外,在首页点击进入不同直播间,会发现内存泄漏很严重,发现opengl有时候也没有完全释放掉,而且cell中创建的数组,控件都是全局变量,不利于内存优化,改成懒加载后有所改善。我们项目中opengl需要手动释放,把释放的方法放到主线程中,我判断,当进入直播间时渲染了opengl,退出时需要释放opengl,opengl释放没有放到主线程中以至于偶尔有时候没有释放掉就退出直播间了,逐渐累加,内存泄漏,终于导致程序crash掉。把释放opengl的操作改到主线程中。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容