Android性能调试方法工具集合 - 持续更新

第一篇_布局优化 一 , 影响面
布局的设计和编码影响是多方面的 , 包括界面启动 , 交互相应 , 内存 , GC
二 , 思路和要求
整体布局思路:要求呈现扁平化 , 宽而浅的效果 。
基本要求:
1.界面框架绘制控制在1次以下
2.大容器控制在3次绘制
3.View控制4x次的绘制
4.一般主页等重度页4x绘制控制在整个的1/4 , 轻度页3x绘制控制1/4并且无4x绘制 。
备注:过渡绘制指打开系统设置开发者模式过渡绘制选项 , 蓝色(1x次绘制)-》浅绿色(2x绘制)-》紫色/淡红色(3x绘制)-》红色(4x绘制)
三 , 检测维度
根据业务的不同与所需要的测试粒度的不同 , 就会有不同的检测维度 , 主流面采用如下:
1.界面过度绘制(检测过度绘制)
2.渲染性能(抓取UI渲染性能呈现 , 尤其是自定义控件)
3.布局边界合理性(检测元素显示的合理性)
四 , 典型问题
1.视图不必要的相互重叠、窄而深的设计
2.有不必要的多层背景(Theme、、、)
3.不必要立即渲染的控件
五 , 调测工具
检测和解决界面性能问题很大程度上依赖于应用程序UI设计和架构 , 提供了很多调试工具 , 常见的界面性能调试工具如下:
1 , 开发者模式观察_过度绘制区域
基本功能:检测过渡绘制结果
说明:关注纵向层叠
打开方式:设置-》开发者选项-》调试GPU过度绘制-》显示过度绘制区域
示例:略
2 , 开发者模式观察_布局边界
基本功能:检测具体设计
说明:关注横向重叠
打开方式:设置-》开发者选项-》显示边界
示例:略
3 , view
基本功能:检测布局层级 , 抓取渲染耗时重灾区
打开方式:或中打开
说明:该工具的兼容性和成功率有较大问题 , 可尝试配合使用
示例:图中4为()等执行情况 , 有3个颜色 , 绿色 , 黄色 , 红色 , 红色代表着耗时最长 。

Android性能调试方法工具集合 - 持续更新

文章插图
4 , Lint:
基本功能:检测布局以及xml代码 , 提供优化建议
打开方式: .2中打开当前xml文件 , -》 code-》 file
说明:如果还没有迁移到可以针对性单文件使用
示例:如图直接提示多余的一个
Android性能调试方法工具集合 - 持续更新

文章插图
5 , :
基本功能:检测布局 , 编码期实时调试边界和层级
打开方式:.2中xml文件编辑菜单
说明:如果还没有迁移到可以针对性单文件使用
示例:如图
Android性能调试方法工具集合 - 持续更新

文章插图
6 , :
基本功能:检测布局层级
打开方式:.2中 -》
说明:兼容性有问题 , 尝试配合使用
示例:如图
Android性能调试方法工具集合 - 持续更新

文章插图
六 , 扩展 1 , 开发者模式:观察追踪渲染性能
基本功能:追踪渲染性能 , 帧画面渲染的耗时
打开方式:开发者选项-》 GPU 呈现模式分析-》在屏幕上显示为条形图 , 兼容性有问题 , 可尝试配合使用
说明:
这个工具会在 设备的屏幕上实时显示当前界面的最近 128 帧的 GPU 绘制图形数据 , 中间有一条绿线 , 代表 16 ms  , 保持动画流畅的关键就在于让这些垂直的柱状条尽可能地保持在绿线下面 。