1.Load SysTrace
在chrome的地址栏中敲入chrome://tracing
然后通过load按钮加载你的trace文件
2.线程状态查看
如下图所示位置会显示线程的执行情况:
- 绿色:Running 线程正在完成与进程相关的工作或正在响应中断。
- 蓝色:Runnable 线程可以运行但当前没有安排。
- 白色:Sleeping 线程没有工作要做,可能是因为线程在互斥锁上被阻塞。
- 橙色:Uninterruptable sleep(不间断的睡眠) 线程在I/O上被阻塞或等待磁盘操作完成。
- 紫色:Interruptable sleep(可以中断睡眠) 线程在另一个内核操作(通常是内存管理)上被阻塞。

3.耗时信息
如下图所示位置会显示线程的耗时信息:
- Wall Duration 持续时间
- CPU Duration CPU耗时
- Self Time 自身方法耗时(不包含其调用方法
- CPU Self Time 自身方法CPU执行时间

4.其他
Frame
在每个包下都有Frame一栏,该栏中都有一个一个的F代表每一个Frame,
用颜色来代表性能的好坏,依次为绿-黄-红(性能越来越差),
点击某一个F,会显示该Frame绘制过程中的一些Alerts信息: 
Alerts
Alerts一栏标记了以下性能有问题的点,
你可以点击该点查看详细信息,右边侧边栏还有一个Alerts框,点击可以查看每个类型的Alerts的数量:

如果你想查看Frame的耗时,可以点击某个F标志,然后按m键:
5.参考文档:
Systrace工具 - https://blog.youkuaiyun.com/feitian_666/article/details/53670411
Android性能分析工具systrace使用
Android性能优化--Systrace工具 - https://www.jianshu.com/p/79081c06868c
6.SysTrace相关快捷键
| 快捷键 | 作用 |
|---|---|
| w | 放大 |
| s | 缩小 |
| a | 左移 |
| d | 右移 |
| f | 定位并放大选中区域(不显示耗时) |
| m | 标记选中区域或者取消选中区域(显示耗时) |
| g | 切换是否显示60hz的网格线(同上) |
| shift+g | |
| v | 高亮VSync(所在的一帧) |
| 0 | 恢复trace到初始态,这里是数字0而非字母o(缩小到初始) |
| h | 切换是否显示详情 |
| / | 搜索关键字 |
| enter | 显示搜索结果,可通过← →定位搜索结果 |
| ` | 显示/隐藏脚本控制台 |
| ? | 显示帮助功能 |
本文详细介绍如何使用Chrome的SysTrace工具进行性能分析,包括加载trace文件、查看线程状态、理解不同颜色代表的线程状态、分析耗时信息、解读Frame及Alerts,以及提供SysTrace快捷键操作指南。

1020

被折叠的 条评论
为什么被折叠?



