标签:
之前的几篇文章中介绍了android中常用的一些工具,今天介绍的工具也是比较实用和方便的,它可以用量化的指标告诉我们哪个方法执行的时间最长,被调用的次数最多,有没有重复调用。下面我们就来看看它是怎么为我们所用的。
一、标注测试的代码区域
如果我们想要测试gridView设置适配器这段代码,该怎么做呢?很简单,用两行代码夹住它~
原始的代码:
mPhotoWall.setAdapter(mAdapter);
标注为测试的代码:
Debug.startMethodTracing("my_trace_file"); mPhotoWall.setAdapter(mAdapter); Debug.stopMethodTracing();
这样我们就表明了,我们的测试是从setAdapter前开始,到它之后结束的。这里有个文件名,my_trace_file,这是我们测试后,得到测试报告的名字,一会再说。
PS:记得要加上权限:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
二、查看测试报告
运行程序后,我们会在sdcard文件夹下找到我们的测试报告文件
如果我们想要查看的话,可以通过命令行,把它移动到d盘
adb pull /sdcard/my_trace_file.trace d:/
接着调用
adb pull /sdcard/my_trace_file.trace d:/
即可打开测试报告的图形界面:
三、表头中各个参数的意义
nl Cpu Time%:方法在运行期间被调用的时间占总时间的百分比。
Incl Cpu Time:方法执行的总时间(包括调用子函数所消耗的时间):调用该方法每次所需要消耗的时间*执行次数。
Excl Cpu Time%:方法自身所消耗的时间(不包括调用其他方法所消耗的时间)占总时间的百分比。
Excl Cpu Time:方法自身所消耗的时间。
Incl Real Time%:方法真正执行的时间占总时间的百分比。
Incl Real Time:方法真正被执行的时间。
Excl Real Time%:方法真正被执行的时间占总时间的百分比
Excl Real Time:方法真正被执行的所消耗的时间
Calls+RecurCalls/Total:方法被调用的次数+重复调用的次数
Cpu Time/Call:方法每次被执行的时间
Real Time/Call:方法真实被执行的时间
PS:一般在activity的onCreate()中添加Debug.startMethodTracing(“Test”), 在onStop()中来调用Debug.stopMethodTracing()。这样当我们切换到其它activity或者点击home键的时候onStop()就会被调用,我们也就可以得到完整的trace file。
参考自:
http://blog.csdn.net/wwj_748/article/details/8913862
标签:
原文地址:http://www.cnblogs.com/tianzhijiexian/p/4277672.html