简介:
来自API文档中的一段介绍:
Traceview is a graphical viewer for execution logs saved by your application. Traceview can help you debug your application and profile its performance.
这是Android SDK自带的一个工具,在<sdk-dir>\tool\traceview.bat能找到它。
必要条件:
需要你的设备提供SD卡作为生成的结果储存载体。
使用方式:
(1) .在代码中指定要检测的区域
// start tracing...
Debug.startMethodTracing("mytrace"); // mytrace是保存的文件名,位于sdcard/mytrace.trace
// your code need to trace
// ...
// stop tracing
Debug.stopMethodTracing();
(2) .到SD卡中将.trace文件导出到电脑上,并在命令行中执行:
traceview mytrace.trace
(3) .成功的话会启动一个图形窗口,如下:
![](http://dl.iteye.com/upload/attachment/504941/cd11ec13-caeb-3b21-acfb-1129c3671b80.png)
界面中的参数大意如下:
<上面的面板>
mesc :运行的时间,毫秒
<下面的面板>
Name :列出的是所有的调用项,前面的数字是编号,展开可以看到有的有Parent 和Children子项,就是指被调用和调用。
Incl : inclusive时间占总时间的白分比
inclusive : 调用占用时间。(包括了所有的子方法的调用时间)
Excl : 执行占总时间的白分比。
Exclusive : 执行时间,不包含子方法的时间。
Calls+Recur Calls/Total : 调用和重复调用的次数
Time/Call : 总的时间。(ms)
(4) .可以发现,其中的函数4占用的时间比较长(与onDraw()相当了),实际上里面做了大量操作(这里是故意用作测试的):
![](http://dl.iteye.com/upload/attachment/504943/0794b38f-3499-3885-87b4-d6b8fae02fff.png)
参考资料: