DDMS全稱Dalvik Debug Monitor Service,功能很是強大,可以用來截取串連的裝置或虛擬機器螢幕,可以查看正在啟動並執行進程的堆和線程資訊,可以類比電話撥打、簡訊發送,虛擬設定地理位置,還包括檔案瀏覽器,記憶體配置跟蹤等。本文繼續結合官方文檔,主要介紹一些關於DDMS的用法。(是通過Eclipse啟動的DDMS)
啟動DDMS
有兩種啟動方式:
一是在命令列定位到sdk安裝路徑的tools目錄下啟動;
還有就是在Eclipse中,點Window>Open Perspective>Other>DDMS。
值得注意的是通過這兩種方式啟動的DDMS是有一點差異的,不過整體功能大體類似,可以比照一下。(是通過命令列啟動的。)
具體用法(這裡以在Eclipse中啟動的DDMS為例):
查看進程的堆使用方式:
1.在DDMS的左側視圖中,選擇要查看的進程。
2.然後點擊上方的Update Heap按鈕。
3.在右側點Heap,就可以看到該進程分配的對記憶體大小和使用的對記憶體大小等。
4.還可以通過點擊下面列表的中的type,來查看Allocation count per size。
查看對象的即時記憶體配置情況:
1.在DDMS的左側視圖中,選擇要查看的進程。
2.在右側的Allocation Tracker標籤頁,單擊Start Tracking按鈕開始追蹤對象的記憶體配置。
3.單擊Get Allocations按鈕查看從單擊Start Tracking按鈕到目前為止產生的對象,具體資訊還包括對象所在的類和線程等。再單擊Get Allocations按鈕會查看新產生的對象。
4.單擊Stop Tracking按鈕,可以停止追蹤。
5.通過單擊列表中的某一項,還可以查看更詳細的資訊,比如對象所在的類、方法和檔案等。
螢幕捕捉:
可以通過點擊DDM的左側視圖的上方的Screen Capture按鈕,來顯示當前的裝置或模擬器的螢幕。
使用檔案瀏覽器:
通過點擊右側的File Explorer,可以查看、刪除、複製裝置或模擬器中的檔案。並且可以通過點擊Pull File將裝置或模擬器上的檔案複製下來,而向裝置上傳送檔案可以通過點擊Push File按鈕。
查看進程的線程資訊:
可以通過在DDMS左側的試圖中選擇感興趣的進程,然後點上方的Update Threads來在右側的Threads標籤頁中,查看線程資訊,包括線程ID、狀態、名稱等資訊。
進行函數剖析(method profiling)
通過函數剖析,可以查看函數在某段時間內被調用的次數、執行的時間等資訊。
還有點需要注意的是,對於函數剖析功能,Android1.5是不支援的,Android2.1和之前的版本必須要有SD卡,並且程式具有向SD卡的寫入權限,Android2.2和之後的版本則不需要
使用LogCat
可以在程式中,通過使用Log類來向LogCat列印資訊。
類比手機操作和定位
可以通過DDMS的Emulator Control標籤頁來向模擬器傳送簡訊,撥打到電話,設定經緯度等。
另請參看:
http://developer.android.com/guide/developing/debugging/ddms.html