Android 效能測試之TraceView的使用

來源:互聯網
上載者:User

Traceview是android平台配備一個很好的效能分析的工具。它可以通過圖形化的方式讓我們瞭解我們要跟蹤的程式的效能,並且能具體到method。

在SDK路徑\tools目錄下.

1.在開始使用TraceView你要注意:

  你的裝置和模擬器必須設定SD card 和 你的程式擁有對SD card 具有讀寫操作的許可權(

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />)

2.在你的程式中使用TraceView

在activity中的oncreate()中加入:

Debug.stopMethodTracing();  

而在onDestroy()中添加:

Debug.stopMethodTracing()

但是在實際的測試時發現這種方式其實並不好用,因為通常情況下我們的activity的onDestroy()是由系統決定何時調用的,因此可能等了很長時間都不會得到這個trace檔案。因此決定在onStop()中來調用Debug.stopMethodTracing()。這樣當我們切換到其它activity或者點擊home鍵的時候onStop()就會被調用,我們也就可以得到完整的trace file。  在運行程式之前,首先要保證我們的AVD是一個帶有SD card的AVD,這樣才能使trace檔案儲存到/sdcard/...當中。運行後可以任意做一些操作,然後點擊home鍵。這是通過DDMS
file explore就可以看到/sdcard/目錄下有一個trace檔案,現在把這個檔案copy到電腦上指定的目錄,假設是C:\tracefile 目錄下。  可以通過命令列來執行traceview,進入tools目錄後,執行   traceview C:\tracefile\yourActivityTrace.trace  之後就可以看到圖形了.


時間片面板(Timeline panel)

分析面板(Profile panel)

常用名詞的一些解釋:

Exclusive: 同級函數本身啟動並執行時間

Inclusive 就是說除統計函數本身啟動並執行時間外再加上調用子函數所啟動並執行時間

 

Name:列出的是所有的調用項,前面的數字是編號,展開可以看到有的有Parent 和Children子項,就是指被調用和調用。

Incl: inclusive時間佔總時間的白分比

Excl: 執行佔總時間的白分比。

Calls+Recur Calls/Total: 調用和重複調用的次數

Time/Call: 總的時間。(ms)

在實際開始中,我們就可以利用traceview和monkey等工具測試應用,根據反映對具體的代碼進行最佳化

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.