阅读文章:HenCoder Android 自定义 View 1-8 硬件加速
辅助参考文章:
1、Display List构建过程分析
2、Android硬件加速原理与实现简介
3、关于硬件加速的那么点儿东西
4、《Android高性能编程》 P53 - P56
5、《Android应用性能优化最佳实践》 P63 - P66
首先需要明确的是,什么是硬件加速?
所谓硬件加速,指的是把某些计算工作交给专门的硬件来做,而不是和普通的计算工作一样交给 CPU 来处理。这样不仅减轻了 CPU 的压力,而且由于有了「专人」的处理,这份计算工作的速度也被加快了。这就是「硬件加速」。
而对于 Android 来说,硬件加速有它专属的意思:在 Android 里,硬件加速专指把 View 中绘制的计算工作交给 GPU 来处理。进一步地再明确一下,这个「绘制的计算工作」指的就是把绘制方法中的那些 Canvas.drawXXX() 变成实际的像素这件事。
引用自:HenCoder Android 自定义 View 1-8 硬件加速
**然后涉及到原理的话,**参阅前两篇文章。其中,需要对 DisplayList 有一个深刻且又准确的印象。
注意!注意!注意!
且如果应用程序中只使用了标准 View 或者 Draeable,就可以为整个系统打开硬件加速的全局设置,但并不是所有的 2D 绘制的操作都支持硬件加速,因此开启全局硬件加速可能会对使用自定义控件造成影响,此时就需要不同级别的硬件加速控制,具体操作略过。
在 HenCoder 的文章中,对硬件加速
的知识点说的很形象了,但是对于某些点可能只是点了一下,说的不是很详细,这里把其中一些点提出来,在以辅助参考文章为