1、
2、
Android的视图绘制分为三部分,布局、测量、绘制。
测量阶段是为了确定大小,Android系统会进行自顶向下视图树的遍历,确认每个viewgroup和每个view应该有多大。
布局阶段会进行另外一个自顶向下的布局操作,每个viewgroup会根据自己测量阶段的大小确认自己所需要摆放的位置
绘制阶段,对于视图树中的每个对象,系统都会为它创建一个canvas对象,然后向gpu发送一个绘制命令,以便进行绘制。
3、
每个阶段都比较耗时,这三个阶段如果都耗时的话,肯定是需要优化的。
在这三个阶段都有自顶向下的遍历过程,如果layout层级比较深,那么这个遍历也是很耗时的。
在一些特殊的场景下,比如嵌套使用了多个relative layout,很有可能会导致绘制环节触发多次。
4、
5、
6、
7、
8、
9、
10、