DDMS 使用小結

1.DDMS簡介

DDMS的全稱是Dalvik Debug Monitor Service。可以實現IDE與連接終端設備(包含仿真器與真機)的調試,DDMS可以實現查詢終端設備運行狀態,終端設備進程狀態,線程狀態,文件系統,日誌信息(logcat)等。以及控制終端設備,完成一些操作。總的來說它是一款性能分析工具,可以幫助開發者快速了APP的運行情況。

2.DDMS功能詳解

首先DDMS被分爲三個部分。左上角爲Device面板,詳細羅列了與電腦相連的終端設備的信息。右上角爲詳細的功能選項卡,下方爲日誌信息以及終端信息.

2.1 Devices面板

這個面板包含了所有的與IDE相連的設備列表以及每個設備上運行的進程的列表,如下圖所示:

devices

顯示進程時會顯示進程ID(上圖中online那一列顯示的即是終端上運行的進程的ID) 以及與進程相關聯的端口號,連接端口號從8600端口依次往下增加,8700是DDMS接收所有連接終端返回信息的端口,即是base端口。Devices面板頂端從左往右有多個按鈕,下面一一分析這些按鈕的功能
1. Debug: 實現使用DDMS對代碼進行調試,使用該功能的前提是IDE中具有該運行進程的源代碼,否則該按鈕爲灰色,功能無法使用.
2. Update heap: 實現對進程中的堆進行更新的操作。只有當選擇這個按鈕後,在右側的功能面板中的heap選項卡中就能夠看見當前進程的堆使用情況:

點擊Cause GC 可以觸發虛擬機的垃圾回收機制。
3. Dump HPROF file: 將當前進程堆使用情況生成文檔,使用這個功能可以更加詳細的分析當前堆的情況,有利於查找內存泄等問題。
4. Cause GC: 觸發垃圾回收機制,可以點擊後查看當前進程的堆使用情況
5. Update thread: 這個功能與update heap一樣,當點擊了這個按鈕才能在右側面板的thread選項卡中查看當前進程的所用的線程運行狀態

6. Start Method Profiling: 開始進行方法分析。這個功能比較重要,後面單獨寫文章分析
7. Stop: 終止當前選中的進程。
8. Screen Capture: 截屏按鈕,捕獲當前設備的屏幕狀態,該功能具有一定的延時

2.2 功能面板

功能面板從左到右有多個選項卡分別是:


1. Threads: 這個不必多說,表示當前進程中的所有線程狀態。
2. Heap: 表示當前進程堆使用情況。
3. Allocation Tracker: 分配跟蹤器,後面單獨寫文章分析
4. NetWork Statistics: 網絡分析功能。
5. File Explorer: 瀏覽終端的文件系統,進行文件相關操作。在這裏面可以進行將外部文件導入到終端中,或者將終端文件導出,或者刪除終端文件,具體操作是右上角三個按鈕:
文件操作

文件操作還是比較重要的,比如一個應用涉及到了SQLite數據庫使用,此時可以使用這個功能,導出數據庫文件單獨分析
6. Emulator Control: 可以實現往模擬器中打電話,發送短信,發送地理位置座標等功能。有了AndroidStudio 如果啓動了模擬器,可以直接在模擬器上實現相關信息的發送而不需要藉助於DDMS
控制

擴展功能

7. System Information: 這個選項卡里面可以查看終端的CPU負載以及內存使用情況。具體的試過就知道了。

2.3 LogCat and Console

這一部分就是系統運行產生的日誌信息以及終端打印的信息。比較關心的還是LogCat。


這裏的LogCat 與AndroidStudio中的LogCat是一樣的。使用LogCat可以根據程序中的運行日誌判斷當前程序運行的狀態。終端設備一般運行較多的進程,每個進程運行都有大量的日誌產生。因此一般需要使用過濾器過濾其他進程信息。過濾器在Saved Filter中的以添加過濾器:
設置過濾器

如果指定要觀察某一個進程的日誌信息,那過濾器就使用PID(進程ID)進行過濾即可,進程ID可以在Devices面板中得到,過濾的等級根據自己代碼中寫的等級酌情考慮,這樣就能夠實現只是觀察一個進程的日誌信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章