Android應用性能檢測工具-TraceView

原文地址:http://blog.csdn.net/hp910315/article/details/50461677

TraceView主要的功能就是檢測你的應用在運行過程中各個線程的CPU佔用情況,依據此可以找出你的應用出現卡頓的地方。

基本使用

使用TraceView主要有兩種方式: 
1、從Android Studio中啓動Android Device Monitor: Tools -> Android -> Android Device Monitor. 
(1).選擇你要調試的進程。 
(2).點擊start mothod profiling,待圖標變黑。 
(3).選擇sample base profiling 
這裏寫圖片描述

2、使用android.os.Debug.startMethodTracing();和android.os.Debug.stopMethodTracing();方法,當運行了這段代碼的時候,就會有一個trace文件在/sdcard目錄中生成,也可以調用startMethodTracing(String traceName) 設置trace文件的文件名,最後你可以使用adb pull /sdcard/test.trace /tmp 命令將trace文件複製到你的電腦中,然後用DDMS工具打開

上面部分是你測試進程的中每個線程運行的時間線,可以選擇某一個線程的時間線,觀察下面部分顯示的對應方法的耗時情況 
這裏寫圖片描述

TraceView中的指標

縱軸 
TraceView界面下方表格中縱軸就是每個方法,包括了JDK的,Android SDK的,也有native方法的 
每個方法前面都有一個數字,是全部方法按照Incl CPU Time 時間的排序序

打開每個方法,數據分爲兩個部分

Parents
Children

Parents表示調用1這個方法的父方法。Children表示方法調用的其他方法。

橫軸

Incl Cpu Time

這個方法以及這個方法的子方法一共執行的時間。

例如:

public void a() {
    //代碼
    b();
    c();
    d();
    //代碼
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

則上面a()方法的Incl Cpu Time爲b(),c(),d()以及a()方法內其他執行代碼的執行總時間。

Excl Cpu Time

這個方法除去其中包含的子方法的執行時間,其他代碼執行的時間。

以上面爲例,Excl Cpu Time爲Incl Cpu Time的時間減去b(),c(),d()的執行時間。

Incl Real Time

和Incl Cpu Time 差不多

Excl Real Time

和Excl Cpu Time差不多

Calls + Recur Calls / Total

它表示這個方法執行的次數,這個指標中有兩個值,一個Call表示這個方法調用的次數,Recur Call表示遞歸調用次數

Cpu Time / Call

表示這個方法每調用一次需要的時間,這個地方就可以分析哪些方法存在耗時操作。

Real Time / Call 
這個方法實際調用一次需要的時間。

這裏寫圖片描述

參考文章:

正確使用Android性能分析工具——TraceView

Android應用性能檢測工具之CPU篇


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章