Hencoder学习笔记1-8

HenCoder Android 自定义 View 1-8 硬件加速

硬件加速能够让绘制变快,主要有三个原因:

1.本来由 CPU 自己来做的事,分摊给了 GPU 一部分,自然可以提高效率;
2.相对于 CPU 来说,GPU 自身的设计本来就对于很多常见类型内容的计算(例如简单的圆形、简单的方形)具有优势;
3.由于绘制流程的不同,硬件加速在界面内容发生重绘的时候绘制流程可以得到优化,避免了一些重复操作,从而大幅提升绘制效率。

所有的原生自带控件,都没有用到 API 版本不兼容的绘制操作,可以放心使用。所以你只要检查你写的自定义绘制就好。

如果你的绘制操作不支持硬件加速,你需要手动关闭硬件加速来绘制界面,关闭的方式是通过这行代码:

view.setLayerType(LAYER_TYPE_SOFTWARE, null);

View Layer 可以加速无 invalidate() 时的刷新效率,但对于需要调用 invalidate() 的刷新无法加速。

view.animate()
    .rotationY(90)
    .withLayer(); // withLayer() 可以自动完成上面这段代码的复杂操作

你可能感兴趣的:(Hencoder学习笔记1-8)