官方地址 http://developer.android.com/tools/debugging/debugging-tracing.html
推薦:http://blog.csdn.net/innost/article/details/9008691
1.TraceView簡介
TraceView是AndroidSDK里面自帶的工具,用於對Android的應用程序以及Framework層的代碼進行性能分析。
TraceView是圖形化的工具,最終它會產生一個圖表,用於對性能分析進行說明。
TraceView可以跟蹤到具體的Method。
2.TraceView的原理
TraceView通過修改code,在需要調試的起始和結束位置加入調試函數,一般在activity的onCreate()中添加Debug.startMethodTracing(“Test”), 在onStop()中來調用Debug.stopMethodTracing()。這樣當我們切換到其它activity或者點擊home鍵的時候onStop()就會被調用,我們也就可以得到完整的trace file。
程序運行之后會在SD的根目錄下產生Test.trace文件來保存運行時的數據,然后把Test.trace文件考到pc機上,通過traceview命令對Test.trace文件進行分析。
權限設置:程序會將Trace文件寫入手機SDcard中,因此需要添加內存卡訪問權限
在manifest文件中加入: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
3. TraceView圖形
時間片面板(Timeline panel)
分析面板(Profile panel)
以下是翻譯
Exclusive: 同級函數本身運行的時間
Inclusive 就是說除統計函數本身運行的時間外再加上調用子函數所運行的時間
Name:列出的是所有的調用項,前面的數字是編號,展開可以看到有的有Parent 和Children子項,就是指被調用和調用。
Incl: inclusive時間占總時間的白分比
Excl: 執行占總時間的白分比。
Calls+Recur Calls/Total: 調用和重復調用的次數
Time/Call: 總的時間。(ms)