●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