Android硬件加速的一些问题和错误
2014-09-19 10:52
211 查看
最近做的程序中遇到了一些奇怪的问题:来源未知,只对特定机型出现问题。如果你也遇到了,可以考虑是不是硬件加速(Hardware
Acceleration)的错
从Android3.0 (API level 11)开始,Android的2D显示管道被被设计得更加支持硬加速了.硬加速使用GPU承担了所有在View的canvas上执行的绘制操作。
硬件加速是个好东西,可以让ListView、WebView滑动的更流畅,但是也总是会出现莫名其妙的的问题。
问题1:EditText中文字的重叠
这是我之前一个博客中解决过的问题,详见:/article/1897214.html
在某些4.x的机器中,如果打开了硬件加速,EditText会出现奇怪的文字重叠的情况。
解决的方法:对EditText关闭硬件加速即可。
问题2:图片无法显示
做的程序里有的时候会需要加载大图,但是硬件加速中 OpenGL对于内存是有限制的。如果遇到了这个限制,LogCat只会报一个Warning: Bitmap too large to be uploaded into a texture (587x7696, max=2048x2048)
这时我们就需要把硬件加速关闭了。
但开始我是这样处理的,我关闭了整个应用的硬件加速:
[html] view
plaincopy
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:hardwareAccelerated="false"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
随后我就发现,虽然图片可以显示了,但是ListView和WebView等控件显得特别的卡,这说明硬件加速对于程序的性能提升是很明显的。所以我就改为对于Activity的关闭
[html] view
plaincopy
<activity
android:name="icyfox.webviewimagezoomertest.MainActivity"
android:label="@string/app_name"
android:hardwareAccelerated="false"
这样问题得到了较好的解决,实际上,我们还可以对每个控件是否加速进行控制。
写这篇文章的目的,想让大家在遇到些奇怪的问题的时候,可以想到这一点,希望对大家有所帮助。
转载来自:/article/1897221.html
Acceleration)的错
从Android3.0 (API level 11)开始,Android的2D显示管道被被设计得更加支持硬加速了.硬加速使用GPU承担了所有在View的canvas上执行的绘制操作。
硬件加速是个好东西,可以让ListView、WebView滑动的更流畅,但是也总是会出现莫名其妙的的问题。
问题1:EditText中文字的重叠
这是我之前一个博客中解决过的问题,详见:/article/1897214.html
在某些4.x的机器中,如果打开了硬件加速,EditText会出现奇怪的文字重叠的情况。
解决的方法:对EditText关闭硬件加速即可。
问题2:图片无法显示
做的程序里有的时候会需要加载大图,但是硬件加速中 OpenGL对于内存是有限制的。如果遇到了这个限制,LogCat只会报一个Warning: Bitmap too large to be uploaded into a texture (587x7696, max=2048x2048)
这时我们就需要把硬件加速关闭了。
但开始我是这样处理的,我关闭了整个应用的硬件加速:
[html] view
plaincopy
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:hardwareAccelerated="false"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
随后我就发现,虽然图片可以显示了,但是ListView和WebView等控件显得特别的卡,这说明硬件加速对于程序的性能提升是很明显的。所以我就改为对于Activity的关闭
[html] view
plaincopy
<activity
android:name="icyfox.webviewimagezoomertest.MainActivity"
android:label="@string/app_name"
android:hardwareAccelerated="false"
这样问题得到了较好的解决,实际上,我们还可以对每个控件是否加速进行控制。
写这篇文章的目的,想让大家在遇到些奇怪的问题的时候,可以想到这一点,希望对大家有所帮助。
转载来自:/article/1897221.html
相关文章推荐
- Android硬件加速的一些问题和错误
- Android硬件加速的一些问题和错误
- Android硬件加速的一些问题和错误
- 【Android错误汇总】genymotion连不上网-Fragment图层叠加-UI的一些问题
- 为避免 Android 应用程序发生异常错误应注意的一些问题
- [Android测试] Appium的一些坑问题错误解决 与 技巧集锦
- [Android测试] Appium的一些坑问题错误解决 与 技巧集锦
- eclipse开发Android程序时一些常见问题与错误提示
- Android硬件加速 问题和错误
- android中遇到的一些问题整理--不断更新中
- 俺网站Android及Ophone开发,全系列上手资料,关于环境搭建遇见的一些问题,包1天能上手。
- android写udp遇到的一些问题
- android ListView在使用中碰得一些问题的解决办法
- Android问题集锦转载之三:Javah 常见错误记录-NDK与JNI除错
- Android 应用程序开发错误调试问题
- 【android】string.xml中的一些错误
- android开发过程中遇到的一些问题(包括自定义ProgressBar, Intent, Animation, ListView, RadioButton)
- Windows7部署Android开发环境傻瓜式教程(遇到的一些问题)
- android 导入的一些常见问题的解决办法。
- Android问题:Android Permission denied(不允许连接Socket) 错误