Android SDK中的强大工具-Monitor(三)

前面的内容请参见Android应用自动化测试-提纲。 本篇继续介绍Android SDK中的强大工具-Monitor。devices界面上方的工具栏如图,我们继续未尽的内容

Start Method Profiing

这是Monitor工具提供的又一个强大功能。在我们分析应用性能如CPU消耗、卡顿现象时非常有用。它其实调用的是Android SDK的traceview工具来进行分析。使用上我们选中需要分析的应用进程,执行工具栏上的Start Method Profiing开始trace,然后去操作应用中我们关注的流程,然后再点击下停止trace,这是Monitor会自动调用traceview并加载刚才Trace的结果

Android SDK中的强大工具-Monitor(三)_第1张图片

下面具体说下这个界面上的内容,traceview的面板分上下两个部分:

时间线面板以每个线程为一行,右边是该线程在整个过程中方法执行的情况
分析面板则是以表格的形式展示所有线程的方法的各项指标

时间线面板:
左边是线程信息,main线程就是Android应用的主线程,这个线程是每个应用都会有的,其他的线程可能因操作不同而发生改变.每个线程的右边对应的是该线程中每个方法的执行信息,左边为第一个方法执行开始,最右边为最后一个方法执行结束,其中的每一个小立柱就代表一次方法的调用,你可以把鼠标放到立柱上,就会显示该方法调用的详细信息。

分析面板:

名称 意义
Name 方法的详细信息,包括包名和参数信息
Incl Cpu Time Cpu执行该方法该方法及其子方法所花费的时间
Incl Cpu Time % Cpu执行该方法该方法及其子方法所花费占Cpu总执行时间的百分比
Excl Cpu Time Cpu执行该方法所话费的时间
Excl Cpu Time % Cpu执行该方法所话费的时间占Cpu总时间的百分比
Incl Real Time 该方法及其子方法执行所话费的实际时间,从执行该方法到结束一共花了多少时间
Incl Real Time % 上述时间占总的运行时间的百分比
Excl Real Time % 该方法自身的实际允许时间
Excl Real Time 上述时间占总的允许时间的百分比
Calls+Recur 调用次数+递归次数,只在方法中显示,在子展开后的父类和子类方法这一栏被下面的数据代替
Calls/Total 调用次数和总次数的占比
Cpu Time/Call Cpu执行时间和调用次数的百分比,代表该函数消耗cpu的平均时间
Real Time/Call 实际时间于调用次数的百分比,该表该函数平均执行时间

方法展开后,大多数有以下两个类别:

  • Parents:调用该方法的父类方法
  • Children:该方法调用的子类方法

如果该方法含有递归调用,可能还会多出两个类别:

  • Parents while recursive:递归调用时所涉及的父类方法
  • Children while recursive:递归调用时所涉及的子类方法

在应用存在卡顿等性能问题时,借助traceview,特别是方法调用cpu时间的分析,我们可以比较准确第定位到应用存在性能问题的方法调用。

stop process

这是个非常容易理解的功能,选中相应的进程,执行该操作,会强制终止该进程。类似android设备上应用管理的强制终止应用功能

Screen Capture

这个功能也很容易理解,会按照设备的分辨率获取设备上的当前界面到Monitor工具中展示。

Android SDK中的强大工具-Monitor(三)_第2张图片

Dump view Hierarchy for Ui automator

这又是一个非常有用的功能,特别是我们再做自动化测试时,更是经常需要使用。该功能其实是调用的Android SDK在API17以后提供的一个重要自动化测试框架UiAutomator的辅助工具UiAutomatorViewer,我们一般会单独使用该工具。Monitor中对该工具进行了集成。

UiAutomatorViewer可以获取当前设备界面上的所用控件元素树,并给出每个控件的属性值。我们在实施自动化时,经常需要利用该工具来确定元素的属性。

Android SDK中的强大工具-Monitor(三)_第3张图片

SysTrace

下一个工具栏按钮的作用是启动android systrace工具,来监视和跟踪Android系统的行为(trace)。它会告诉你系统都在哪些工作上花费时间、CPU周期都用在哪里,甚至你可以看到每个线程、进程在指定时间内都在干嘛。它同时还会突出观测到的问题,从垃圾回收到渲染内容都可能是问题对象,甚至提供给你建议的解决方案。

Android SDK中的强大工具-Monitor(三)_第4张图片

按照设定的trace时间,完成信息收集后,SysTrace工具会整合结果到一个html文件中,打开如图:


Android SDK中的强大工具-Monitor(三)_第5张图片

关于Systrace应用的详细说明可以参见官方的介绍文档 Analyzing UI Performance with Systrace

Trace OpenGL calls

Monitor中还提供了这个用于分析OpenGL应用性能的工具, 配置如图

Android SDK中的强大工具-Monitor(三)_第6张图片

使用参见官方说明文档 Tracer for OpenGL ES


关于android自动化测试的更多实战操作演示参见慕课网实战课程 Android自动化测试实战 工具 框架 脚本

欢迎保留作者信息和出处进行转载,欢迎关注微信公众号:秋草说测试。 原创测试干货资源池


Android SDK中的强大工具-Monitor(三)_第7张图片

你可能感兴趣的:(Android SDK中的强大工具-Monitor(三))