从Android3.0(API Level 11)开始,Android 2D渲染管道能够更好的支持硬件加速。硬件加速执行的所有的绘图操作都是使用GPU在View对象的画布上来进行的。因为启用硬件加速会增加资源的需求,因此这样的应用会占用更多的内存。
启用硬件加速的最容易的方法是给整个应用程序都打开全局硬件加速功能。
如果应用程序只使用标准的View和Drawable,那么打开全局硬件加速不会导致任何的不良的绘制效果。但是,因为硬件加速并不支持所有的2D图形绘制操作,所以对于那些使用定制的View和绘制调用的应用程序来说,打开全局硬件加速,可以会影响绘制效果。问题通常会出现在对那些不可见的元素进行了异常或错误的像素渲染。为了避免这种问题,Android提供以下级别,以便可选择性的启用或禁止硬件加速:
1. Application
2. Activity
3. Window
4. View
如果应用程序执行了定制化的绘图,就要在实际的带有硬件加速的硬件设备上测试,以便发现问题。控制硬件加速
能够用以下级别来控制硬件加速 Application级别
在应用的Android清单文件中,把下列属性添加到<application>元素中,来开启整个应用程序的硬件加速。
<application android:hardwareAccelerated="true" ...>
Activity级别
如果应用程序不能够正确的使用被打开的全局硬件加速,那么也可以对Activity分别进行控制。在<activity>元素中使用android:hardwareAccelerated属性,能够启用或禁止Activity级别的硬件加速。以下示例启用全局的硬件加速,但却禁止了一个Activity的硬件加速: <application android:hardwareAccelerated="true"> <activity ... /><activity android:hardwareAccelerated="false" /> </application>
Window级别