Android Device Monitor结构和用法

Android Device Monitor是一个独立的工具,可以对Android应用进行调试和分析。Android Device Monitor无需安装整合在一个IDE中,比如像Android Studio,提供如下工具:
1、 DDMS
2、 Tracer for OpenGL ES
3、 Hierarchy Viewer
4、 Systrace
5、 Traceview
6、 Pixel Perfect magnification viewer

Android Device Monitor结构和用法_第1张图片

1:DDMS
(1)Emulator Control
通过Emulator Control 我们可以模拟传感器,来电等数据。当然,Emulator Contorl只有Google原版镜像才可以用,如果模拟器里或手机里不是Google源码镜像,这里的内容都会变成灰色。

Android Device Monitor结构和用法_第2张图片

模拟来电

Android Device Monitor结构和用法_第3张图片

(2)File Explorer
File Explorer可以让我们浏览手机里的文件。

Android Device Monitor结构和用法_第4张图片

(3)System Information

在这里我们可以看到CPU、内存占用情况。

Android Device Monitor结构和用法_第5张图片

Android Device Monitor结构和用法_第6张图片

(4)屏幕截图

Android Device Monitor结构和用法_第7张图片

二 Tracer for OpenGL ES

Tracer for OpenGL ES是Android SDK中新增加的开发工具,可逐帧(准确得说是逐函数)记录app用OpenGL ES的绘制过程。它提供了每个OpenGL函数调用的消耗时间,所以很多时候用来作performance分析。但因为其强大的记录功能,在分析渲染出错的问题时(尤其是没有源代码的情况下),它也可算是一大神器。缺点有二:一是只支持Android 4.1及以上的设备,二是采集数据时app运行会变得很慢(这可能会影响app的行为)。

简要使用步骤:

  1. 先连接设备,然后打开Device Monitor(在android-sdk/tools/monitor) 或Eclipse(装了ADT的话),接着Window-> Open Perspective -> Other -> Tracer for OpenGL ES。
  2. 点击,填写要分析的app信息,这里面的Package名和Activity名都可以通过解压Apk文件从AndroidManifest.xml中得到,或是通过打开该app后用$ adb shell dumpsys activity | grep app名得到。然后能打勾的全打上勾,点Trace开始。
  3. 觉得差不多了点”Stop Tracing”结束,Trace log文件就会生成在预定的目录下。
  4. 点击,选中生成的Trace log文件,然后就可以分析了。

Android Device Monitor结构和用法_第8张图片

三 Hierarchy View

按Devices里的按钮Dump View Hierarchy for UI Automator可以获得当前屏幕上面的元素组成。

Android Device Monitor结构和用法_第9张图片

Android Device Monitor结构和用法_第10张图片

四 Systrace

Android Device Monitor结构和用法_第11张图片

五 Traceview
TraceView 是 Android SDK 中内置的一个工具,它可以加载 trace 文件,用图形的形式展示代码的执行时间、次数及调用栈,便于我们分析。

trace 文件是 log 信息文件的一种,可以通过代码,Android Studio,或者 DDMS 生成。

使用TraceView主要有两种方式:

1 最简单的方式就是直接打开DDMS,选择一个进程,然后按上面的“Start Method Profiling”按钮,等红色小点变成黑色以后就表示TraceView已经开始工作了。然后我就可以滑动一下列表(现在手机上的操作肯定会很卡,因为Android系统在检测Dalvik虚拟机中每个Java方法的调用,这是我猜测的)。操作最好不要超过5s,因为最好是进行小范围的性能测试。然后再按一下刚才按的按钮,等一会就会出现上面这幅图,然后就可以开始分析了。

2 第2种方式就是使用android.os.Debug.startMethodTracing();和android.os.Debug.stopMethodTracing();方法,当运行了这段代码的时候,就会有一个trace文件在/sdcard目录中生成,也可以调用startMethodTracing(String traceName) 设置trace文件的文件名,最后你可以使用adb pull /sdcard/test.trace /tmp 命令将trace文件复制到你的电脑中,然后用DDMS工具打开就会出现第一幅图了

Android Device Monitor结构和用法_第12张图片

这5中是ADM最常用的功能区了,在DDMS有很多经常需要使用的adb命令,有什么更具体的技术问题,我们可再次交流,以上有没有讲到的,还望指出来,一起改进!

https://github.com/huchun

你可能感兴趣的:(Android,Android技术开发)