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

一.GPU渲染速度

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

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

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

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

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

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

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

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

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

Android4.0—Android5.0使用的颜色只有四种:

因为日常开发中不太关注5.0以下的系统,所以对这一部分没什么研究。

二.GPU过度绘制

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

蓝:过度绘制1次。

绿:过度绘制2次。

粉红:过度绘制3次。

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


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


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

Android App性能分析工具(一)——GPU渲染分析相关推荐

  1. Android APP性能监测工具

    Emmagee:网易开发的性能检测工具 能够对应用的常用性能指标(内存.CPU占比.电量.流量)进行检测,并以csv的格式保存方便查看应用的各项指标,使用Excel打开CSV文件,使用自带的统计图标功 ...

  2. Android APP性能分析方法及工具

    近期读到<Speed up your app>一文.这是一篇关于Android APP性能分析.优化的文章.在这篇文章中,作者介绍他的APP分析优化规则.使用的工具和方法.我觉得值得大家借 ...

  3. Android 应用性能优化(4)---Android App性能评测分析-启动时间篇

    Android App性能评测分析-启动时间篇 1.前言 随着项目版本的迭代,App的性能问题会逐渐暴露出来,而好的用户体验与性能表现紧密相关,性能问题从应用的启动优化开始,下面会根据实际app性能测 ...

  4. Android App性能评测分析

    Android App性能评测分析-启动时间篇 Android App性能评测分析-网络流量篇 Android App性能评测分析-内存篇 Android App性能评测分析-cpu占用篇 Andro ...

  5. Android APP性能优化

    转载自:https://www.cnblogs.com/qwangxiao/p/8727229.html Android APP性能优化(最新总结) 导语 安卓大军浩浩荡荡,发展已近十个年头,技术优化 ...

  6. Android APP性能优化(一)

    Android APP性能优化(最新总结) 安卓大军浩浩荡荡,发展已近十个年头,技术优化日异月新,如今Android 8.0 Oreo 都发布了,Android系统性能已经非常流畅了.但是,到了各大厂 ...

  7. Android APP性能及专项测试(个人整理)

    Android性能测试分为两类: 1.一类为rom版本(系统)的性能测试 2.一类为应用app的性能测试 Android的app性能测试包括的测试项比如: 1.资源消耗 2.内存泄露 3.电量功耗 4 ...

  8. Android APP性能及专项测试(学习笔记)

    1. 性能测试 Android性能测试分为两类: 1.一类为rom版本(系统)的性能测试 2.一类为应用app的性能测试 Android的app性能测试包括的测试项比如: 1.资源消耗 2.内存泄露 ...

  9. Android APP性能及专项测试

    Android篇 1. 性能测试 Android性能测试分为两类: 1.一类为rom版本(系统)的性能测试 2.一类为应用app的性能测试 Android的app性能测试包括的测试项比如: 1.资源消 ...

最新文章

  1. List元素互换,List元素转换下标,Java Collections.swap()方法实例解析
  2. 使用MOSS2007内置的更多FieldType
  3. 并非所有图像都值16x16个词--- 清华华为提出一种自适应序列长度的动态ViT
  4. 乐视手机没有logcat日志_盘点国产品牌手机,联想,魅族,一加有你用过的那款吗?...
  5. PHP7 JIT 相关开源项目(JPHP)
  6. iframe有那些缺点
  7. powershell 脚本运行策略,参数....
  8. Java 初始化 代码块_Java中初始化块详解及实例代码
  9. Python Selenium系列学习
  10. 【图像融合】基于matlab GUI像素点图像融合【含Matlab源码 783期】
  11. python安装哪个版本比较好,python选择哪个版本安装
  12. 全开源微信小程序商城系统源码:基于Java+uniapp框架开发
  13. windows 打包c++运行库
  14. 软件工程项目—个人通讯录管理系统
  15. 手写实现乞丐版mybatis
  16. idea git操作
  17. 智能客服工单系统与工单管理系统的区别
  18. order statistics(找最ith小数值)问题
  19. Android 手机模拟游戏手柄(USB,C#,winio)
  20. 在 iphone 手机浏览器无法下载(主要指 safari 和 chrome ) excel ,但是可以直接预览 excel

热门文章

  1. 聚美优品正式退市:陈欧下一个将为谁代言?
  2. 白嫖党必备非常好用的苹果cms模板网站
  3. 怎么用java调用mysql_java 调用mysql实例
  4. PW4056H充电芯片,1A可调充电
  5. Mysql 安装及my.ini的创建
  6. vue让你理解npm run dev 和 npm run serve
  7. 《网络攻防》实验三:免杀原理与实践
  8. 2020牛客暑期多校训练营(第一场)j-Easy Integration(思维,分数取模,沃斯利积分)
  9. linux c strtol 字符串转int 简介
  10. BottomNavigationView+Navigation 添加底部导航菜单切换时的fragment过渡动画animation