一. 简介
systrace是Android 开发工具提供的一个可以测量App性能的工具。systrace提供了很多参数,这里重点关注UI是如何渲染的,以及使用systrace调试jank问题。systrace不同于Hierarchy Viewer等工具,它记录整个Android系统的数据,而不是针对某个特定App的。因此,最好不要与它同时运行太多的其他应用,从而尽量减少其他应用的干扰。
打开方式
1. 在Android Studio中打开
-
Android Studio中打开Android项目
-
打开Device Monitor:Tools > Android > Android Device Monitor
-
在设备列表中选择一个设备
- 点击Systrace按钮
-
设置选项并点击确认,开始跟踪
image.png
可以自己调整trace 文件的保存路径,监控的时长(默认5秒),以及选择要跟踪的进程。
2. 通过命令行打开(android 4.3 以上)
$ cd android-sdk/platform-tools/systrace
$ python systrace.py --time=10 -o mynewtrace.html sched gfx view wm
说明:
--time=10 设定时间,捕获从现在开始10内的数据
-o 输出名为trace.html文件,可以在这加路径
sched gfx view wm 此处为设置有效的trace标签,工具会根据该标签过滤捕获的内容,标签如下,可自行删加
- gfx - Graphics
- input - Input
- view - View
- webview - WebView
- wm - Window Manager
- am - Activity Manager
- sync - Synchronization Manager
- audio - Audio
- video - Video
- camera - Camera
二. 看懂生成的trace 文件
跟踪记录结束后,会生成一个trace.html 文件,使用浏览器打开这个文件,可以看到结果面板
image.png
这个文件中包含了大量的数据,使用鼠标可以滑动视图,WASD键可以缩放(W,S)和左右滑动(A,D)。在轨迹顶部,你可以看见CPU的使用详情。CPU数据下面是一些可以折叠的部分,描述了每个活动的应用。不同颜色的色条表示操作系统的不同动作,长度表示动作持续的时间(放大可以看到更多细节)。选择一条色带之后可以看到在屏幕下方显示出这项的详细信息。
整个面板分为四个区域,左侧显示的是进程和进程内的线程,中间部分是各线程的执行时间,
网友评论