1.理解过渡绘制

  过渡绘制是指一帧内某个像素被重复绘制了多次。比如层叠的卡片,我们需要一层层绘制,而对看不见的底层进行绘制,就是所说的过渡绘制,浪费了GPU性能。

  wKiom1fWHP_TzDwnAAHC34gy0L8544.png-wh_50

 2.观察过渡绘制

  幸运的是,我们可以通过手机设置里面的开发者选项,打开Show GPU Overdraw(调试GPU过渡渲染),选择  显示过渡渲染区域,可以观察UI上的Overdraw情况。


蓝色,淡绿,淡红,深红代表了4种不同程度的Overdraw情况,我们的目标就是尽量减少红色Overdraw,看到更多的蓝色区域(蓝色表面该区域在同一帧的时间里被绘制了一次,淡绿表明两次,往后一次递增)。

Overdraw有时候是因为你的UI布局存在大量重叠的部分,还有的时候是因为非必须的重叠背景。例如某个Activity有一个背景,然后里面的Layout又有自己的背景,同时子View又分别有自己的背景。仅仅是通过移除非必须的背景图片,这就能够减少大量的红色Overdraw区域,增加蓝色区域的占比。这一措施能够显著提升程序性能。