Android 如何理解是否使用应用程序硬件加速

Android 如何理解是否使用应用程序硬件加速,android,android-layout,view,android-animation,hardware-acceleration,Android,Android Layout,View,Android Animation,Hardware Acceleration,我想为应用程序启用硬件加速 我在Android清单行中添加了 <application android:hardwareAccelerated="true"/> 我认为这一行应该在应用程序的所有视图上启用硬件加速,但是当我检查(使用方法view.getLayerType())时,我得到的结果是0。 我的结论是,您没有使用硬件加速 我不明白它是如何工作的硬件加速 为什么如果在应用程序级别启用硬件加速,应用程序中的所有视图都将调用方法view.getLayerTy

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

我在Android清单行中添加了

 <application
        android:hardwareAccelerated="true"/>

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

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

为什么如果在应用程序级别启用硬件加速,应用程序中的所有视图都将调用方法view.getLayerType()返回0? 我认为应该返回2,因为我把硬件加速提高到了一个更高的水平。

不是吗?


对于每个视图,您都需要在xml中设置属性android:layerType?

您提到的标记确实打开了硬件加速,但您只需要在API 13或更低版本中使用它,因为在API版本14或更高版本中,默认情况下这是打开的

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

View.isHardwareAccelerated()
Canvas.isHardwareAccelerated()
getLayerType()
返回视图的图层类型,默认情况下该类型为无:

默认情况下,视图没有图层,图层类型为 层\类型\无

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

干杯

View.isHardwareAccelerated()确实返回true。谢谢