TraceView 是Android一个最好的性能分析的工具。Android 提供的默认TraceView文件查看工具,主要用做热点分析,找出最需要优化的点。也就是说,它是针对函数进行分析的,比如找出执行最耗时的方法,调用次数最多的方法等等。
但是有时候,并不需要分析整个TraceView, 而只是针对某部分类进行分析。QTrace针对这种情况,提供了更好的分析方法。
打开QTrace, 点击View->Plugin->TraceView UML.
单击Select File, 选择DDMS中已经录制的TraceView文件。或者点击Capture Trace View捕获当前设备上对应进程的TraceView数据。
在Class Filter中选择要跟踪的类,这样只生成跟这些类相关的UML序列图。
同时选择要显示那些时间信息。这些字段的含义如下:
Inclusive Cpu Time:某函数运行,占用CPU的时间(包括其内部函数调用的时间)
Exclusive Cpu Time:某函数运行,占用CPU的时间(不包括其内部函数调用的时间)
Inclusive Real Time: 某函数运行,运行的真实时间(不包括其内部函数调用的时间)
Exclusive Real Time :某函数运行,运行的真实时间(不包括其内部函数调用的时间)
显示结果如下,可以看到函数的UML 序列图。同时会显示函数调用的耗时。
与Android提供的TraceView查看器不同,QTrace是针对每一次函数调用进行分析的,而不是针对函数调用汇总情况来分析。QTrace可以过滤只分析敢兴趣的类,同时采用UML序列图来查看TraceView, 显示的结果会更加直观。