Android硬件加速的一些问题和错误

最近做的程序中遇到了一些奇怪的问题:来源未知,只对特定机型出现问题。如果你也遇到了,可以考虑是不是硬件加速(Hardware Acceleration)的错

从Android3.0 (API level 11)开始,Android的2D显示管道被被设计得更加支持硬加速了.硬加速使用GPU承担了所有在View的canvas上执行的绘制操作。

硬件加速是个好东西,可以让ListView、WebView滑动的更流畅,但是也总是会出现莫名其妙的的问题。

问题1:EditText中文字的重叠


这是我之前一个博客中解决过的问题,详见:http://blog.csdn.net/icyfox_bupt/article/details/12837093

在某些4.x的机器中,如果打开了硬件加速,EditText会出现奇怪的文字重叠的情况。



解决的方法:对EditText关闭硬件加速即可。


问题2:图片无法显示

做的程序里有的时候会需要加载大图,但是硬件加速中 OpenGL对于内存是有限制的。如果遇到了这个限制,LogCat只会报一个Warning: Bitmap too large to be uploaded into a texture (587x7696, max=2048x2048)


这时我们就需要把硬件加速关闭了。

但开始我是这样处理的,我关闭了整个应用的硬件加速:

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:hardwareAccelerated="false"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

随后我就发现,虽然图片可以显示了,但是ListView和WebView等控件显得特别的卡,这说明硬件加速对于程序的性能提升是很明显的。所以我就改为对于Activity的关闭

        <activity
            android:name="icyfox.webviewimagezoomertest.MainActivity"
            android:label="@string/app_name"
            android:hardwareAccelerated="false"
这样问题得到了较好的解决,实际上,我们还可以对每个控件是否加速进行控制。

写这篇文章的目的,想让大家在遇到些奇怪的问题的时候,可以想到这一点,希望对大家有所帮助。

转载请注明来自:http://blog.csdn.net/icyfox_bupt/article/details/18732001

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值