开启硬件加速 导致花屏问题 OpenGlRenderer 0x506 解决办法

在Android 4.2版本中,自定义的Launcher有时会出现花屏、黑屏或字体显示异常的问题,这与OpenGlRenderer错误0x506有关。解决方法是在View调用destroyLayer()时,检查硬件加速状态,若不可用,则通过mHardwareRenderer的safelyRun方法安全地释放mHardwareLayer资源。具体代码优化方案可参见提供的博客链接。
摘要由CSDN通过智能技术生成
(150114_17:08:32.461)I/dalvikvm-heap(  850): Grow heap (frag case) to 10.342MB for 2457616-byte allocation 
(150114_17:08:32.542)D/dalvikvm(  850): GC_FOR_ALLOC freed 20K, 25% free 10530K/14040K, paused 34ms, total 34ms 
(150114_17:08:32.551)D/dalvikvm(  850): GC_CONCURRENT freed 7K, 26% free 10524K/14040K, paused 1ms+5ms, total 24ms 
(150114_17:08:32.551)D/OpenGLRenderer(  850): GL error from OpenGLRenderer: 0x506


android4.2版定制的Launcher, 有几率出现应用整个绘制成花屏、黑屏或者字体绘制成方块等问题,出现花屏问题的时候出现以上LOG


解决办法:

当View 调用destroyLayer()的时候判断如果当前的硬件加速不可用的时候,调用mHardwareRenderer的safelyRun来删除mHardwareLayer的资源

修改View.java destroyLayer(boolean valid)方法

boolean destroyLayer(boolean valid
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值