使用DDMS測試安卓手機APP的效能(android)

來源:互聯網
上載者:User

安裝/配置:

通過另外一個工具也可以測試手機用戶端APP的效能,這就是android開發包中的DDMS工具(Dalvik Debug Monitor Service),先來說一下android開發包的安裝:

1、 首先安裝JDK,1.5以上的版本

2、 在安裝完JDK 後,就需要下載及安裝Android SDK,即: android-sdk-windows,壓縮包大約有551M左右

3、 解壓縮android-sdk-windows,放在C盤的根目錄下,配置系統變數path 的值為:C: \android-sdk-windows\tools

啟動:

1、 可以在運行中進入ddms

2、也可以在C: \android-sdk-windows\tools目錄下啟動ddms.bat

串連:

1、 使用資料線串連安卓系統的手機,確認手機是處於“USB調試”模式

1)在手機上按下“Menu”鍵,在彈出的菜單中選擇“Setting(設定)”;
2)選擇“應用程式”;
3)在此介面勾選“未知來源”,然後選擇“開發”;
4)勾選“USB調試”,“保持喚醒狀態”;

2、 在ddms的左邊框中會顯示手機已經開啟的應用程式(APP)進程,如果不顯示,可以多串連幾次,或者換個手機試試

操作:

前提是要開啟我們要分析的手機用戶端app程式(網上隨便找的APK程式)

1. 點擊選中想要監測的進程,比如system_process進程;
2. 點擊選中Devices視圖介面中最上方一排表徵圖中的“Update Heap”表徵圖;
3. 點擊Heap視圖中的“Cause GC”按鈕;
4. 此時在Heap視圖中就會看到當前選中的進程的記憶體使用量量的詳細情況。

分析:

如何才能知道我們的程式是否有記憶體流失的可能性呢。這裡需要注意一個值:Heap視圖中部有一個Type叫做data object,即資料對象,也就是我們的程式中大量存在的類類型的對象。在data object一行中有一列是“Total Size”,其值就是當前進程中所有Java資料對象的記憶體總量,一般情況下,這個值的大小決定了是否會有記憶體流失。可以這樣判斷:

a) 不斷的操作當前應用,同時注意觀察data object的Total Size值;

b) 正常情況下Total Size值都會穩定在一個有限的範圍內,也就是說由於程式中的的代碼良好,沒有造成對象不被記憶體回收的情況,所以說雖然我們不斷的操作會不斷的產生很多個物件,而在虛擬機器不斷的進行GC的過程中,這些對象都被回收了,記憶體佔用量會會落到一個穩定的水平;

c) 反之如果代碼中存在沒有釋放對象引用的情況,則data object的Total Size值在每次GC後不會有明顯的回落,隨著操作次數的增多Total Size的值會越來越大,直到到達一個上限後導致進程被kill掉。

d) 此處已system_process進程為例,在我的測試環境中system_process進程所佔用的記憶體的data object的Total Size正常情況下會穩定在2.2~2.8之間,而當其值超過3.55後進程就會被kill。

參考文檔:http://hi.baidu.com/2012jasonhao/item/27fafb0c014a5ac42f4c6b25

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.