步步登高--Android查看方法耗時利器TraceView

1.簡介

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

2.使用

    1. 生成.trace文件
      在我們需要追蹤的代碼中,前后輸入:
      Debug.startMethodTracing("test");//設(shè)置參數(shù)為生成的trace文件名

      CODE

    Debug.stopMethodTracing();
    然后運行項目,此時在設(shè)備的SD下會生成test.trace文件

  • 2.拷貝文件到電腦
    在電腦可以使用adb命令后,輸入如下(把文件拷貝到d:/info目錄下):
    adb pull /sdcard/test.trace D:\info

  • 3.打開traceview
    進入SDK的tools目錄后,命令窗口執(zhí)行traceview,如下:
    traceview D:\info\dmtrace.trace.
    此時traceview視圖便會顯示出來:


    這里寫圖片描述

3.詳細(xì)介紹

  • 1.上部分


    這里寫圖片描述

X軸表示時間消耗,單位毫秒,Y軸表示各個線程,每個線程中不同方法使用不同顏色表示,顏色面積寬,表示占用cpu時間越長

  • 2.下部分


    這里寫圖片描述

這里寫圖片描述

列1:"Name"表示函數(shù)名。
雙擊函數(shù)名,可以看到在上半界面是時間軸面圖(Timeline Panel)看他的所消耗的時間段。
雙擊函數(shù)名左邊的"+"展開后可以看到,該函數(shù)的"parents"和"children"
列2:"incl%"表示函數(shù)的Inclusive time在整個MethodTracing時間里占的百分比。
列3:"Inclusive"表示Inclusive time。
列4:"Excl%"表示函數(shù)的Exclusive time在整個MethodTracing時間里占的百分比。
重點列:我們關(guān)注點
"Calls+RecurCalls/Total"表示對函數(shù)的調(diào)用次數(shù)(包括遞歸調(diào)用)。如圖2的toplevel那列為"30+0"表示30次非遞歸調(diào)用,0次遞歸調(diào)用.
Cpu Time / Call 表示該方法耗時
Real time/Call 實際實際
Real time 包括了cpu的上下文切換、阻塞、GC等等,所以時間比較長,所以我們性能分析重點關(guān)注:Calls+RecurCalls/Total, Cpu Time / Call這兩列

  • 4.方法查找
    在視圖底部,有find一欄,我們可以在這里輸入方法名,迅速的找到相應(yīng)方法分析
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容