使用traceview進行Android性能測試

jopen 10年前發布 | 43K 次閱讀 traceview Android開發 移動開發

一、 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進行Android性能測試

        在需要停止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進行Android性能測試

 

四、 TraceView工具實例使用說明

        本例以安居客選擇一個城市中的一套房源進行收藏的過程為例,詳細講述如何使用TraceView工具。

        操作步驟如下:

        1、 啟動Eclipse,并連接上模擬器;

        2、 在模擬器上啟動安居客應用,并打開DDMS,選中安居客進程;

        3、 點擊Start profile method按鈕;

        4、 在安居客中打開一套房源,等待房源成功打開后查看大圖并進行收藏;

        5、 點擊DDMS中的stop profile method按鈕,將會在 Eclipse中自動彈出一個圖形界面。

        按照平均調用時間(time/calls)從大到小來進行排序,見下圖:

      使用traceview進行Android性能測試

 

     使用traceview進行Android性能測試

 

          從上圖可知,DetailActivityForPicture.onCreat()函數的平均調用時間為4.034秒,共調用了1次,調用時間相 對較久,再看它調用的子函數。其中,子函數DetailActivityForPicture.initInfo()的調用時間為0.9s。相對時間較 長,若需要優化性能,需要對initInfo()執行時間進行優化。

        下面再來看DetailActivityForPicture.initInfo()函數的子函數的情況,如圖:

       使用traceview進行Android性能測試

 

        進一步可分析出來initFavoriteButton()調用時間最長為0.4s。依次查詢下去,見下圖:

       使用traceview進行Android性能測試

        DialogBoxUtil.getFavoriteWindow()和FavoritePropertyModel.函數可以進行優化。如上性能分析結果,可供開發人員參考,并有針對地進行性能優化。

轉自http://www.cnblogs.com/Android-and-android/archive/2013/03/05/2943859.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!