Android查看方法耗時利器---TraceView

1.簡介

Traceview是android平臺配備的一個很好的性能分析工具。它可以通過圖形化的方式讓我們瞭解我們要跟蹤的程序的性能,並且能具體到method。android開發中可以用來:方法耗時,性能優化

2.使用

    1. 生成.trace文件
      在我們需要追蹤的代碼中,前後輸入:
      Debug.startMethodTracing(“test”);//設置參數爲生成的trace文件名
      ####CODE
      Debug.stopMethodTracing();
      然後運行項目,此時在設備的SD下會生成test.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一欄,我們可以在這裏輸入方法名,迅速的找到相應方法分析
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章