根据Android develop guide,将使用LAYER_TYPE_NONE为硬件加速视图创建显示列表,而使用LAYER_TYPE_HARDWARE为硬件加速视图创建hardware layer。在任一种方法中应用旋转动画时都不需要重绘视图。那么,在启用硬件加速的动画视图时,LAYER_TYPE_NONE和LAYER_TYPE_HARDWARE的实际差异是什么?
答案 0 :(得分:1)
如果要应用旋转动画,首先会重绘视图。
硬件层(LAYER_TYPE_HARDWARE)缓存在GPU上,这使得动画期间的某些操作更快。可以使用图层快速渲染简单的变换(平移,旋转,缩放和alpha)。
LAYER_TYPE_HARDWARE 使用占用GPU内存的图层,显然您不希望任何内存泄漏。因此,您应该只在必要时使用硬件层,例如在动画期间。
使用 LAYER_TYPE_NONE ,您明确希望避免在启用硬件加速的情况下进行硬件层渲染。
供参考,请阅读http://blog.danlew.net/2015/10/20/using-hardware-layers-to-improve-animation-performance/