Android Force GPU渲染如何启用和禁用?

xia*_*woo 10 android gpu canvas hardware-acceleration

我正在构建一个需要在画布上进行大量绘制的应用程序.我注意到应用程序在高分辨率设备(例如nexus 7)中有点滞后.我看到开发人员选项中有一个Force GPU选项.启用强制GPU后,我的应用程序运行绝对流畅.

我已经读过这个Force GPU选项被称为硬件加速,它仅适用于Android 3.0及更高版本.

我的应用针对Android 2.3及更高版本.

是否有可能在任何Android 3.0或更高版本的设备上以编程方式启用硬件加速(或强制GPU - 无论魔法是什么)?

就像是:

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){

    Turn On Hardware Accelerate HERE but How can i do this?
    any code snippet would be welcome/helpful/thanks

}
Run Code Online (Sandbox Code Playgroud)

ian*_*ake 7

我假设你已经在你的Manifest文件中添加了android:hardwareAccelerated?

<application android:hardwareAccelerated="true" ...>
Run Code Online (Sandbox Code Playgroud)

这就是根据硬件加速指南在应用程序中实现硬件加速的原因,并且应该完全强制GPU在系统级别执行.

  • 这是完全正确的.你的Manifest中的android:minSdkVersion控制着它将运行的设备,而不是你构建的设备.这允许您在保持向后兼容的同时使用新API.当然,在任何方法调用之前,您仍然需要进行版本检查,但在这种情况下,在Honeycomb之前的设备上只会忽略hardwareAccelerated XML属性. (3认同)