一、概述
今天,介绍两个比较简单的性能优化工具:
调试 GPU过度绘制
GPU呈现模式分析
其实这两个工具所解决的问题并不相同,之所以把它们放在一起,是因为它们都是Android手机自带的分析工具,我们只要在设置中对应的开关,就可以实时获得分析的结果,下面,我们就一起来看一下如何使用它们。
二、调试 GPU过度绘制
- 应用场景
这个工具主要是用来检查布局中是否存在布局层次过深的问题。
- 过度绘制的概念
如果你粉刷过一个房间或一所房子,就会知道给墙壁涂上颜色需要做大量的工作。假如你还要重新粉刷一次的话,第二次粉刷的颜色会覆盖住第一次的颜色,第一次的颜色就永远不可见了,等于你第一次粉刷做的大量工作就完全被浪费掉。这太可怕了。
同样的道理,如果在你的应用程序中浪费精力去绘制一些东西同样会产生性能问题。过度绘制这个名词就是用来描述屏幕上一个像素在单个帧中被重绘了多少次。
- 过度绘制分析
过度绘制其实是一个性能和设计的交叉点。我们在设计上追求很华丽的视觉效果,但一般来说这种视觉效果会采用非常多的层叠组件来实现,这时候就会带来过度绘制的问题。比如:我们有一叠UI组件,这些组件从上到下分布,上面的组件是可以被用户看见的,而在下面的组件是不可见的,但是我们依然要花很多时间去绘制那些不可见的组件,因为在某些时候,它也可能会显示出来。但这确实是在浪费CPU和GPU的资源啊
- 检测过度绘制
进入设置----开发者选项----打开调试GPU过度绘制(Show GPU Overdraw)选项,在弹出框中选择第二项:
打开这个选项后,你的手机会出现一些奇怪的颜色,请不要惊慌,这是正常的。系统正在你的屏幕上通过给像素绘制不同的颜色来
显示这个像素被过度绘制的次数。一共有四种颜色:蓝色、绿色、淡红、深红。根据过度绘制的次数,依次递增
具体图片如下
- 蓝色 过度绘制一次(说明这块像素区域绘制了两次)
- 绿色 过度绘制两次
- 粉色 过度绘制三次
- 红色 过度绘制四次
- 目标和一个简单的方法
你的目标就是尽可能的减少过度绘制&#x