过度绘制的危害以及产生的原因,可以参考网络资料。
优化过度绘制,是为了保证APP的流畅度,而APP卡顿不全部是因为布局问题导致的, 布局问题会导致渲染时间延长 从而造成卡顿。
所以当有掉帧的时候,不一定是布局的问题
PS:调试APP过度绘制,先打开开发者选项中的:GPU呈现模式分析和调试GPU过度绘制的开关。
打开之后看这个页面的过度绘制情况。
1. 页面布局上面颜色表示的含义:
a.原色 – 无过度绘制
b.蓝色 – 1次过度绘制
c.绿色 – 2次过度绘制
d.粉色 – 3次过度绘制
e.红色 – 4次过度绘制
优化原则: 大部分区域为蓝色和绿色,不允许出现深红色(4层以上),允许出现少量(1/4屏幕)的浅红色(3层),在文字和图标区域,允许一些3x、4x绘制。
2. 下面柱状图展示的颜色值 表示的含义:
柱状图每一根代表一帧,其高度表示“渲染这一帧耗时” 。6.0之后的系统都使用8种颜色表示 每一帧里面各个阶段的耗时情况
3. 可以看出来 当绘制、测量布局、动画、输入处理、其他时间延迟比较高的时候 需要我们来处理。<