我听说Skia GPU acc是在Android 3.0中添加的,但似乎从Android 4.0开始就默认禁用了,可能是因为转向了HWUI (Canvas的openGL实现)。我怎么能再次启用它,只是为了基准测试的目的。
我不知道Skia还有其他的硬件加速方法。不过对于HWUI,开发者的文档概述如下:http://developer.android.com/guide/topics/graphics/hardware-accel.html
如果您已经知道HWUI的实现,请向我道歉。
您可以使用四种级别的控制:
应用程序级别、活动级别、窗口级别和视图级别。
应用程序级别
在您的清单中添加以下属性到您的应用程序:
<application android:hardwareAccelerated="true" ...>`
活动水平在您的清单中为您的活动添加以下属性:
<application...>
<activity android:hardwareAccelerated="true" />
</application>
你也可以混合和匹配应用程序和活动级别,只在某些活动上启用HWUI,像这样:
<application android:hardwareAccelerated="true">
<activity ... />
<activity android:hardwareAccelerated="false" />
</application>
窗口水平注意:只能在窗口级别启用HWUI,不能禁用。
在你的src:
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
视图水平注意:不能在视图中启用HWUI,只能启用disable。在你的src:
myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
你对HWUI的看法也是正确的:
Android Honeycomb(3.0)看到了HWUI(硬件加速)作为所有应用程序的选项,而无需任何额外的绘制代码。系统将自动为所有兼容的渲染方法运行预定义的OpenGL ES函数,而不是SKIA。
在Android Ice Cream Sandwich(4.0)中,HWUI是默认的。因此,所有4.0+设备必须具有支持OpenGL ES 2.0的GPU。