GenseeSDK DocView(OpenGL)引起的TextView显示黑块
現(xiàn)象
先上圖:
正常的圖:
來到這的大俠是否也出現(xiàn)了同樣的問題。
操作與描述
退出直播播放器后,整個app界面所有的TextView(EditText/Button)都顯示為黑塊。
快速解決
退出直播或點播后不要調(diào)用DocView的closeDoc函數(shù)即可,當(dāng)然也可以更新3.9版本的SDK解決此問題。
GenseeSDK
原因:docview(基于GLSurfaceView)使用的opengl進行渲染,且不支持多實例,因此習(xí)慣上使用之后closeDoc以清理內(nèi)存,接著釋放(destroy)渲染對象。清理內(nèi)存是個延時操作,渲染對象是否后,內(nèi)存就出錯了,此處影響了屏幕的渲染,導(dǎo)致其他TextView都顯示為了黑塊。
如果只調(diào)用destroy,實際上是正常的 ,但要注意,這個destroy只支持在主線程中調(diào)。
說明:本次問題僅發(fā)生在小米平板4.4.4的系統(tǒng)上,其他設(shè)備沒有這個問題。
其他SDK或自身工程
有人使用百度地圖也出現(xiàn)過類似現(xiàn)象,是更新百度地圖sdk得以解決。如果老鐵在開發(fā)中遇到這樣的情況,沒有使用GenseeSDK和百度地圖,那么請檢查工程中或使用到的sdk中是否有基于GLSurfaceView或TextureView開發(fā)的ui,這些與OpenGl有有關(guān),可以分別去掉相關(guān)的view進行驗證。明確是因為這些view的原因后,是工程里面的需要進一步具體處理,如果是某個sdk中包含的,那找對應(yīng)sdk做支持就可以了。
本文簡要記錄GenseeSDK的問題,僅供參考。
關(guān)于黑塊問題,有類似的日志信息“call to OpenGL ES API with no current context 和 Fatal signal 11”。總體上還是與OpenGl 相關(guān),當(dāng)然Opengl 相關(guān)的組件比較多,甚至像cocos2d 也是基于opengl渲染的。一旦opengl相關(guān)的內(nèi)存發(fā)生錯誤,界面上也就隨之出現(xiàn)黑塊,更有甚者程序崩潰(這種反而又好把控)。
進一步說明類似黑塊發(fā)生時,主要方向還是找項目工程中使用到opengl的庫的問題。
總結(jié)
以上是生活随笔為你收集整理的GenseeSDK DocView(OpenGL)引起的TextView显示黑块的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QuerWrapper常用方法
- 下一篇: python tcp服务器并发_pyth