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.csdn.net/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 | 显示搜索结果,可通过← →定位搜索结果 |
` | 显示/隐藏脚本控制台 |
? | 显示帮助功能 |