如何了解您的应用程序是否使用硬件加速

How to understand uses your application hardware acceleration or not

我想为应用程序启用硬件加速。

我在 Android 清单行中添加了

 <application
        android:hardwareAccelerated="true"/>

我认为这一行应该在应用程序的所有视图上启用硬件加速,但是当我检查时(使用方法 view.getLayerType()),我得到的结果是 0。 我断定你没有使用硬件加速

我不明白硬件加速是如何工作的。

为什么我在应用层开启了硬件加速,应用中的所有视图都调用方法view.getLayerType() return 0? 我预计应该 return 2,因为我将硬件加速提升到了一个更高的水平。

不是这样吗?

对于每个视图,事实证明您需要在 xml ?

中设置 属性 android:layerType

你提到的标签确实打开了硬件加速,但你只需要它用于 API 13 或更低版本,因为它在 API 版本 14 及更高版本上默认打开。

要检查您的视图(或Canvas,对于您正在绘制的自定义视图)是否正在使用硬件加速,您可以调用

View.isHardwareAccelerated()
Canvas.isHardwareAccelerated()

getLayerType() returns视图的图层类型,默认为NONE:

By default a view does not have a layer, and the layer type is LAYER_TYPE_NONE.

此外,请记住,您应该在视图附加到 window 后调用 isHardwareAccelearted(),以获得正确的响应。在此之前答案可能不正确。

干杯