【踩雷】android 中UI线程内调用gl指令的结果
来源:互联网 发布:阿里云丁丁 编辑:程序博客网 时间:2024/06/05 02:57
采用新架构结果测试提了一个神奇的BUG:打开应用程序硬件加速功能后,开启XX功能以后,View上的button和view背景都变成黑色色块,如下图:
同事追查的结果哭笑不得:UI线程中调用调用了glDeleteTextures函数。
每个GLContext都是单独一个GL环境,互不影响,类似OS中的两个进程空间。当开启硬件加速以后,UIView的GLContext中,所有view的纹理随机分配。GLSurfaceView的GLContext中,所有纹理ID也随机分配。
android的GLSurfaceView继承UIView即为UI主线程,其内部单独管理一个GL绘制线程。 UI线程中错误地调用GLSurfaceView中的glDeleteTextures,调用者本意是删除GLSurfaceView的一批纹理,结果实际上是 删除了UIView的GLContext中的对应ID的纹理。
android 中暂不支持定义自定义GLContext,不支持多线程共享GLContext,所以gl指令只能在GL线程中调用。。。
1 0
- 【踩雷】android 中UI线程内调用gl指令的结果
- lua与java相互调用之 GL线程与UI线程
- 为什么unity不能调用含有GL线程的dll库
- Android UI线程异步调用
- android 在线程中调用handle更新UI
- Android在非UI线程中更新UI的方法
- android在其他线程中访问UI线程的方法
- android 线程中访问UI线程的方法
- android 在其他线程中更新UI线程的解决方法
- Android 在其他线程中更新UI线程的解决方法
- Android 在其他线程中更新UI线程的解决方法
- Android 在其他线程中更新UI线程的解决方法
- Android中UI线程与子线程的通信
- Android 非UI线程中更新UI
- Android 非UI线程中更新UI
- Android 线程中更新UI
- android非UI线程调用Toast
- Android 调用UI线程以及延迟执行
- Android实现推送方式解决方案
- Android NDK的include配置
- JAVA WEB项目の问题汇总
- POJ-3006-Dirichlet's Theorem on Arithmetic Progressions-2013-12-02 18:05:36
- html radio
- 【踩雷】android 中UI线程内调用gl指令的结果
- UML类图符号 各种关系说明以及举例
- erlang 并发编程
- 将博客搬至CSDN
- java Button透明
- sdcc和Makefile的例子
- vmware下ubuntu的 usb转串口 的minicom使用
- UML 中关系详解以及在visio中的表示
- POJ-3094-Quicksum-2013-12-02 21:10:02