標籤:
一、 TraceView工具簡述
Traceview是android平台配備的一個很好的效能分析工具。它可以通過圖形介面的方式讓我們瞭解我們要跟蹤的程式的效能,並且能具體到method。
二、 TraceView工具使用方法
TraceView有三種啟動方式,下面逐一介紹:
1、 代碼中啟動
可以在代碼中添加
Debug.startMethodTracing(“Tracelog”);
Debug.stopMethodTracing();
使用這種方式需要確保應用的AndroidMainfest.xml中的SD卡的讀寫權限是開啟的,即
應用運行完後,會在SD卡下產生一個Tracelog檔案,使用adb pull把這個檔案拷貝至XP系統上,再在android sdk的tools目錄下執行traceview Tracelog,則會彈出一個圖形介面,通過這個圖形介面就可以分析出應用的效能瓶頸;
2、 Eclipse中啟動
Eclipse啟動traceview及其簡單,在DDMS中對需要分析的應用進程點擊如下按鈕
在需要停止traceview的地方點擊相同的按鈕,則Eclipse會自動彈出類似1中的一個圖形介面;
3、 adb 命令列啟動
adb shell am profile start
adb shell am profile stop
PROCESS_ID為應用的進程號,可以用ps命令擷取,TRACE_FILE為需要儲存的Trcaelog檔案。
執行上面的命令後,會產生對應的TRACE_FILE,使用adb pull把這個檔案拷貝至XP系統上,再在android sdk的tools目錄下執行traceview Tracelog,則會彈出一個圖形介面,通過這個圖形介面就可以分析出應用的效能瓶頸;
三、 TraceView介面說明
上述步驟產生的圖形介面如下所示:
四、 TraceView工具執行個體使用說明
本例以安居客選擇一個城市中的一套房源進行收藏的過程為例,詳細講述如何使用TraceView工具。
操作步驟如下:
1、 啟動Eclipse,並串連上模擬器;
2、 在模擬器上啟動安居客應用,並開啟DDMS,選中安居客進程;
3、 點擊Start profile method按鈕;
4、 在安居客中開啟一套房源,等待房源成功開啟後查看大圖並進行收藏;
5、 點擊DDMS中的stop profile method按鈕,將會在 Eclipse中自動彈出一個圖形介面。
按照平均調用時間(time/calls)從大到小來進行排序,見:
從可知,DetailActivityForPicture.onCreat()函數的平均調用時間為4.034秒,共調用了1次,調用時間相 對較久,再看它調用的子函數。其中,子函數DetailActivityForPicture.initInfo()的調用時間為0.9s。相對時間較 長,若需要最佳化效能,需要對initInfo()執行時間進行最佳化。
下面再來看DetailActivityForPicture.initInfo()函數的子函數的情況,
進一步可分析出來initFavoriteButton()調用時間最長為0.4s。依次查詢下去,見:
DialogBoxUtil.getFavoriteWindow()和FavoritePropertyModel.函數可以進行最佳化。如上效能分析結果,可供開發人員參考,並有針對地進行效能最佳化。
使用traceview進行Android效能測試(轉)