官方地址 http://developer.android.com/tools/debugging/debugging-tracing.htmlhtml
推薦:http://blog.csdn.net/innost/article/details/9008691android
1.TraceView簡介web
TraceView是AndroidSDK裏面自帶的工具,用於對Android的應用程序以及Framework層的代碼進行性能分析。函數
TraceView是圖形化的工具,最終它會產生一個圖表,用於對性能分析進行說明。工具
TraceView能夠跟蹤到具體的Method。性能
2.TraceView的原理spa
TraceView經過修改code,在須要調試的起始和結束位置加入調試函數,通常在activity的onCreate()中添加Debug.startMethodTracing(「Test」), 在onStop()中來調用Debug.stopMethodTracing()。這樣當咱們切換到其它activity或者點擊home鍵的時候onStop()就會被調用,咱們也就能夠獲得完整的trace file。.net
程序運行以後會在SD的根目錄下產生Test.trace文件來保存運行時的數據,而後把Test.trace文件考到pc機上,經過traceview命令對Test.trace文件進行分析。翻譯
權限設置:程序會將Trace文件寫入手機SDcard中,所以須要添加內存卡訪問權限debug
在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)