zoukankan      html  css  js  c++  java
  • [开发工具] 史上最全系列之开发环境搭建之DDMS

    原文链接:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=275774

    一、简介
    DDMS 的全称是DalvikDebug Monitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务。提供测试设备截屏、查看特定进程正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、模拟接收及发送SMS、虚拟地理坐标等服务。
     
    二、启动
    Eclipse中启动方法:



    1、点击右上角DDMS图标




    2、没有DDMS图标,使用菜单栏window→open perspective→other选择
    DDMS从安装目录中启动:
    SDK oolsddms.bat



    使用SDK oolsmonitor.bat可以启动Android debug monitor与DDMS
    功能相同
     
    三、工作原理
    DDMS将IDE与测试终端(Emulator或者connected device)建立连接,各自使用独立的端口监听调试器的信息,DDMS可以实时监测到测试终端的连接情况。当有新的测试终端连接后,DDMS可以捕捉终端ID,并通过adb建立调试器,从而实现发送指令到测试终端的目的。
    DDMS监听第一个终端App进程的端口为8600,APP进程将分配8601,如果有更多终端或者更多APP进程将按照这个顺序依次类推。DDMS通过8700端口(”base port”)
    接收所有终端的指令。
    四、相关功能
    左侧的面板上提供了相应功能的按钮,从左往右依次是:Debug the selected process、Update Heap、Dump HPROF File、Cause GC(Garbage Collection)、Update Threads、Start Method Profiling、Stop Process和Screen Capture
    右侧显示相应的监测信息并进行文件管理
     
     



     
     
            1、  截屏



    2、     手机文件管理,如果虚拟机分配了SD卡空间或真机挂载了SD卡可以管理SD中的文件。从设备复制文件,在文件浏览器中找到该文件,然后单击“Pull file”按
    钮。要复制一个文件到设备上的文件资源管理器“Push file
    ”按钮。

           3、  获取进程以及内存信息



    进程信息

    获取进程信息需要点击左侧Update Threads按钮,然后在左侧显示相应的进程信息,
    包括进程的名称、ID、状态等重要信息
    内存信息
    需要点击Update Heap,在Heap界面下,上部显示堆的详细信息,点击Cause GC进行垃圾回收,当完成后,可以看到一组对象类型和为每种类型已分配的内存,点击列表中的一个对象类型,为该种特定内存大小的对象分配的数量。
     








    Allocation Tracing为内存分配过程跟踪,可跟踪系统分配内存的情况。
    关于Dump HPROF File按钮的相关简介
    heap dump就是一个程序heap的快照,它保存为一种叫做HPROF的二进制格式。Dalvik用的也是类似的格式,但是不完全一样。这里是Java的HPROF工具。有很多方法去生成一个运行时应用程序的heap dump。其中一种就是使用在DDMS里边的Dump HPROF file按钮。如果想产生更精确的dump数据,可以在程序中使用android.os.Debug.dumpHprofData() 方法。
    4、  模拟拨入电话,模拟接收短信
     







     
    模拟器接收模拟拨入电话的效果








     
    模拟器接收模拟发送短信的效果,中文乱码
    5、  虚拟地理坐标
    如果您的应用程序依赖于位置的手机,你可以有的DDMS送您的设备或AVD一个模拟的位置。这是非常有用的,如果你想测试你的应用程序的特定位置的功能,而不必实际移动的不同方面。
    您可以使用下面的地理位置数据类型:
    手动设置(Manual)位置 - 通过手动指定十进制或六十进制的经度和纬度值。
    GPX - GPS交换文件
    KML -Keyhole标记语言文件
     
     








     
     
     
    6、  网络状态获取
    在Android 4.0, DDMS 具备监控详细的网络使用情况的功能,使得它可以跟踪您的应用程序的网络请求。使用这个工具,你可以监视应用程序的数据传输,并适当优化的底层代码。
    7、  系统信息获取
    包括三部分CPU相关信息(CPU load)、内存使用信息(MemoryUsage)、框架渲染时间信息(Frame Render Time)




    CPU load

    Memory Usage
     
     








     
    Frame Render Time
    测试使用模拟器

     
  • 相关阅读:
    遇到的两个问题
    项目分析(map复习)
    while小问题
    二级指针
    映射文件实现进程通信
    struct {0}初始化
    用boost共享内存实现进程通信的例子
    mongo二维数组操作
    项目分析(channelid是如果产生的)
    string为什么可以写入共享内存
  • 原文地址:https://www.cnblogs.com/xuan52rock/p/4613514.html
Copyright © 2011-2022 走看看