自定义View起步:硬件加速对绘图的影响

本文探讨Android API 11后硬件加速对自定义View的影响,包括可能导致的花屏和View错位问题。硬件加速利用GPU提升2D图形渲染速度,但并非所有操作都支持。在遇到问题时,可通过Logcat分析,考虑关闭硬件加速。文章介绍了在Application、Activity、Windows和View四个级别上控制硬件加速的方法。
摘要由CSDN通过智能技术生成

问题

    在Android API 11之后,开始支持硬件加速,所有的ViewCanvas都会支持GPU,但是硬件加速会占用一定的RAM资源。在API 14(Android 4.0)之后默认是全部开启硬件加速的,如果你的应用全部都是标准的View和Drawable,全局都打开硬件加速是不会有问题的。然而硬件加速并不是支持所有的2D图形绘制操作,在Android4.0之后的设备上,有时候我们定制了比较复杂的自定义View,我们的view在刷新的时候有可能会出现花屏或者某些View错位的情况。

通过Logcat分析会出现这样的错误:

09-18 14:34:39.656: DEBUG/OpenGLRenderer(3104): GL error from OpenGLRenderer: 0x501

从这个日志可以分析出,初步认为可能是硬件加速导致的问题。

硬件加速的优点和缺点

    硬件加速能能够使用GPU来加速2D图形的渲染操作,但是硬件加速并不能支持所有的渲染操作。针对自定义的View有可能会出现渲染错位的情况,如果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值