GenseeSDK DocView(OpenGL)引起的TextView显示黑块

现象

先上图:
在这里插入图片描述
在这里插入图片描述
正常的图:

在这里插入图片描述

来到这的大侠是否也出现了同样的问题。

操作与描述

退出直播播放器后,整个app界面所有的TextView(EditText/Button)都显示为黑块。

快速解决

退出直播或点播后不要调用DocView的closeDoc函数即可,当然也可以更新3.9版本的SDK解决此问题。

GenseeSDK

原因:docview(基于GLSurfaceView)使用的opengl进行渲染,且不支持多实例,因此习惯上使用之后closeDoc以清理内存,接着释放(destroy)渲染对象。清理内存是个延时操作,渲染对象是否后,内存就出错了,此处影响了屏幕的渲染,导致其他TextView都显示为了黑块。

如果只调用destroy,实际上是正常的 ,但要注意,这个destroy只支持在主线程中调。
说明:本次问题仅发生在小米平板4.4.4的系统上,其他设备没有这个问题。

其他SDK或自身工程

有人使用百度地图也出现过类似现象,是更新百度地图sdk得以解决。如果老铁在开发中遇到这样的情况,没有使用GenseeSDK和百度地图,那么请检查工程中或使用到的sdk中是否有基于GLSurfaceView或TextureView开发的ui,这些与OpenGl有有关,可以分别去掉相关的view进行验证。明确是因为这些view的原因后,是工程里面的需要进一步具体处理,如果是某个sdk中包含的,那找对应sdk做支持就可以了。

本文简要记录GenseeSDK的问题,仅供参考。

关于黑块问题,有类似的日志信息“call to OpenGL ES API with no current context 和 Fatal signal 11”。总体上还是与OpenGl 相关,当然Opengl 相关的组件比较多,甚至像cocos2d 也是基于opengl渲染的。一旦opengl相关的内存发生错误,界面上也就随之出现黑块,更有甚者程序崩溃(这种反而又好把控)。

进一步说明类似黑块发生时,主要方向还是找项目工程中使用到opengl的库的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值