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() 可以自动完成上面这段代码的复杂操作
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容