Android App性能分析工具(一)——GPU渲染分析

我尽量不打错别字,用词准确,不造成阅读障碍。

一.GPU渲染速度

该工具在“开发者选项”里面,是用来展示应用每一帧中渲染消耗的时间及内容。
img

1.图中每一个竖条就是一帧,不同颜色代表不同的活动内容,下面会详细讲解;

2."横"着的绿线表示16ms的”及格线“,小于16ms的帧数透明度要低一些(最右边那部分),可以选择性忽略,大于16ms的透明度会高一些,看的更清晰。当竖线超出这条横线时,可能会使动画出现暂停。日常开发中要想做到完全不超过这条线是很难的,反正我是没见过。

3.上图显示是Android6.0以后的样子,图片显示为8个颜色,Android4.0-5.0(API级别14-21)为4种颜色,下面会说明。

每种颜色代表不同的含义,所以需要特意说明一下:
PU渲染_6.简单解释一些不易懂的说明:

红色:意思就是说,竖线越高,说明需要绘制的视图越多,正常应用中这部分一般是比较高的,很难降下来。

浅蓝色:表示图片信息上传到GPU所消耗的时间,竖条越高说明图片越大或很多,所以这里的优化方向是减少图片数量和缩小图片大小。

深绿色(最下面的绿色):表示在当前线程中执行了太多任务,UI渲染跟不上Sync信号(刷新信号)而掉帧,一般是主线程。这个地方是优化的重点,因为大部分卡顿、掉帧都会在这里的时间上体现出来,所以竖线比较高。

深绿色部分是重点,本人开发中曾经发现RecyclerView滚动卡顿,发现滚动时深绿色部分很高,说明主要是代码执行时间过长,再借助Android Profiler工具,发现是Adapter中做文字过滤时replaceAll()方法次数太多,耗时太久,挪开后列表滚动就流畅了。

Android4.0—Android5.0使用的颜色只有四种:
PU渲染_4.
因为日常开发中不太关注5.0以下的系统,所以对这一部分没什么研究。

二.GPU过度绘制

主要有四个颜色:蓝、绿、粉红、红;

蓝:过度绘制1次。

绿:过度绘制2次。

粉红:过度绘制3次。

红色:过度绘制4次或更多。

PU过度绘制
有些过度绘制是不可避免的,不需要刻意做到完全没有。

PU过度绘制
最后应该做到尽量少的过度绘制,如右图。
参考网站:
https://developer.android.google.cn/studio/profile/inspect-gpu-rendering

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值