如何理解使用您的应用程序硬件加速与否

时间:2015-02-06 11:08:59

标签: android android-layout view android-animation hardware-acceleration

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

我在Android清单行中添加了

 <application
        android:hardwareAccelerated="true"/>

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

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

为什么我在应用程序级别上转换硬件加速,应用程序中的所有视图都调用方法view.getLayerType()返回0? 我希望应该返回2,因为我将硬件加速转向了更高的水平。

不是吗?

对于每个视图,事实证明你需要在xml中设置属性android:layerType?

1 个答案:

答案 0 :(得分:0)

您提到的标签确实启用了硬件加速功能,但您只需要API 13或更低版本,因为默认情况下这是API版本14及更高版本。

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

View.isHardwareAccelerated()
Canvas.isHardwareAccelerated()

getLayerType()返回视图的图层类型,默认情况下预期为NONE:

  

默认情况下,视图没有图层,图层类型为   LAYER_TYPE_NONE。

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

干杯