systrace可以把函数流程及CUP状态有HTML表示出来,主要是针对UI的流程性分析的工具。使用使用systrace首先的安装SDK 20以上,Android 4.1以上才能使用,在SDK/tools/systrace下面有一个systrace.py的Python脚本,使用这个脚本可以生成相应的HTML结果文件。听说Window下这个脚本不能用,我只在Linux用过。
要追踪函数,先要设置相应的TAG,有两种方式可以使用,一种用设置-》开发者选项-》启用跟踪,选择相应的TAG就可以了,第二种方式是用命令模式:
./systrace.py --set-tag加相应的TAG就可以了,与从设置里设置TAG一样的效果,但使用命令模式,需要adb shell stop及adb shell start一下,注意TAG之间不能有空格。
配置好坏境后,便可以使用systrace了。systrace参数比较多,-t 记录时间长短的,默认是5秒,-o 指定输出文件。我一般都是用systrace -t 10 -o ojl.html边能得到结果,如下图所示:
可以得到很好的图形,看着就让人兴奋。得到的HTML文件可以放大、缩小等等操作,可以看到函数的调用时间、流程以及CPU被哪个进程所占用。
下面这两篇google的文章对systrace有较详细的描述,想进一步研究的话,可以好好多一下:
http://developer.android.com/tools/debugging/systrace.html
http://developer.android.com/tools/debugging/systrace.html