●Monitor簡介
Monitor工具:單詞譯為監測儀,集成了在Android開發、自動化測試過程中對應用調測非常重要的常用功能,功能如下:
Devices:對設備的管理
DDMS(Dalvik Debug Monitor Service): Android 開發環境中的Dalvik虛擬機調試監控服務,Android系統就是基於Dalvik虛擬機的
Logcat:Android中一個命令行工具,可以用於得到程序的log信息
UiautomatorViewer:一個圖形界面工具來掃描和分析應用的UI控件,點擊每個控件元素,看看輸出的結果是否符合預期,用來做UI測試
TraceView : Android 平台配備一個很好的性能分析的工具
●Monitor工具使用
• Devices:
•Update Heap: 更新堆內存信息
•執行Cause GC,可以看到目前堆內存的使用情況、當前進程中內存是如何使用的,這在性能調優特別是內存泄漏問題可以對內存的情況進行分析
•Dump HPROF file:對堆內存具體的調用起詳細說明的文件,對內存起到進一步分析的作用。如果Heap匯總的信息不能分析出問題,可以下載這個文件通過工具MAT對內存詳細分析。
•Cause GC:垃圾回收,已講
•Update Threads:更新線程信息,分析線程中進程使用
選中每一個具體的線程,可以看到線程調用的堆棧
•Start Method profiling:分析系統的卡頓、應用的卡頓
舉個例子:模擬器打開計算器,進程中出現com.android.calculator2,選中com.android.calculator2執行,接下來模擬器操作計算器,完了以后再次點擊,就會出現如下圖所示:
這個.trace文件的可以分析進程中所有調用方法、占用的CPU時間以及CPU調用的相關的百分比,其實調用的是TraceView這個工具。
•Stop Process:結束進程
•Screen Capture:抓取當前設備的當前界面
•Dump View Hierarchy for UI Automator:這就是UI Automator Viewer工具
點擊此按鈕,可以看到當前界面上所有元素屬性(class、resource_id、package以及坐標)和樹狀結構
•systrace:抓取系統的跟蹤信息
•Allocation Tracker:對內存分配的跟蹤,可以看到分配的類,分配到什么地方
•Network Statistics:網絡流量跟蹤,RX表示收,TX表示發,目前模擬器是沒有網絡操作,所以跟蹤不到流量的信息。
•File Explorer:可以看到當前設備所有文件的信息,也可以對文件進行pull、push、delete以及新建目錄
•Emulator Control:模擬器控制
(在新版的Android sdk這個功能已經不再提供了,功能放在模擬器中,如下圖)
•System information:系統信息的統計,包括cpu load、memory usage、frame render time(應用界面渲染時間)
•Logcat:日志跟蹤的工具
•Hierarchy view:從設備上拿到當前界面的控件的樹狀結構的視圖,功能類似 UIAutomator Viewer