Systrace
结合Android内核的数据,生成Html报告
API18以上使用,推荐TraceCompat
需要python2的环境
参考官方网站:https://developer.android.com/topic/performance/tracing/command-line
在Android 9上还可以使用系统内置的跟踪方法:https://developer.android.com/topic/performance/tracing/on-device
使用方式:
1 | // 开始,参数为tag标记 |
执行命令
1 | python [sdk路径]/platform-tools/systrace/systrace.py [option] [categories] |
举例
1 | python systrace.py -o mynewtrace.html sched freq idle am wm gfx view binder_driver hal dalvik camera input res |
更多参数含义如下:
- -t:指定统计时间
- shced:cpu调度信息
- gfx:图形信息
- view:视图
- wm:窗口管理
- am:活动管理
- app:应用信息
- webview:webview信息
- -a:指定目标应用程序的包名
- -o:生成的systrace.html文件
生成的文件需要通过Chrome
浏览器进行加载
在地址栏输入 chrome://tracing
命令,通过 load
载入
UI快捷键
W:放大
S:缩小
A:左移
D:右移
M:选定函数的耗时时间范围
cputime与walltime区别
- wall time是代码执行时间
- cpu time时代码消耗cpu的时间(优化方向,应尽可能跑满cpu)
总结
- 轻量级,开销小
- 直观反映cpu利用率