一、標注測試的代碼區域
如果我們想要測試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。