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 |
|
|
|
0 |
恢复trace到初始态,这里是数字0而非字母o(缩小到初始) |
h |
切换是否显示详情 |
/ |
搜索关键字 |
enter |
显示搜索结果,可通过← →定位搜索结果 |
` |
显示/隐藏脚本控制台 |
? |
显示帮助功能 |