1.簡介
Traceview是android平臺配備的一個很好的性能分析工具。它可以通過圖形化的方式讓我們瞭解我們要跟蹤的程序的性能,並且能具體到method。android開發中可以用來:方法耗時,性能優化
2.使用
- 生成.trace文件
在我們需要追蹤的代碼中,前後輸入:
Debug.startMethodTracing(“test”);//設置參數爲生成的trace文件名
####CODE
Debug.stopMethodTracing();
然後運行項目,此時在設備的SD下會生成test.trace文件
- 生成.trace文件
2.拷貝文件到電腦
在電腦可以使用adb命令後,輸入如下(把文件拷貝到d:/info目錄下):
adb pull /sdcard/test.trace D:\info- 3.打開traceview
進入SDK的tools目錄後,命令窗口執行traceview,如下:
traceview D:\info\dmtrace.trace.
此時traceview視圖便會顯示出來:
3.詳細介紹
- 1.上部分
X軸表示時間消耗,單位毫秒,Y軸表示各個線程,每個線程中不同方法使用不同顏色表示,顏色面積寬,表示佔用cpu時間越長
* 2.下部分
列1:”Name”表示函數名。
雙擊函數名,可以看到在上半界面是時間軸面圖(Timeline Panel)看他的所消耗的時間段。
雙擊函數名左邊的”+”展開後可以看到,該函數的”parents”和”children”
列2:”incl%”表示函數的Inclusive time在整個MethodTracing時間裏佔的百分比。
列3:”Inclusive”表示Inclusive time。
列4:”Excl%”表示函數的Exclusive time在整個MethodTracing時間裏佔的百分比。
重點列:我們關注點
“Calls+RecurCalls/Total”表示對函數的調用次數(包括遞歸調用)。如圖2的toplevel那列爲”30+0”表示30次非遞歸調用,0次遞歸調用.
Cpu Time / Call 表示該方法耗時
Real time/Call 實際實際
Real time 包括了cpu的上下文切換、阻塞、GC等等,所以時間比較長,所以我們性能分析重點關注:Calls+RecurCalls/Total, Cpu Time / Call這兩列
- 4.方法查找
在視圖底部,有find一欄,我們可以在這裏輸入方法名,迅速的找到相應方法分析