• DDMS 使用小结


    1.DDMS简介

    DDMS的全称是Dalvik Debug Monitor Service。可以实现IDE与连接终端设备(包含仿真器与真机)的调试,DDMS可以实现查询终端设备运行状态,终端设备进程状态,线程状态,文件系统,日志信息(logcat)等。以及控制终端设备,完成一些操作。总的来说它是一款性能分析工具,可以帮助开发者快速了APP的运行情况。

    2.DDMS功能详解

    首先DDMS被分为三个部分。左上角为Device面板,详细罗列了与电脑相连的终端设备的信息。右上角为详细的功能选项卡,下方为日志信息以及终端信息.

    2.1 Devices面板

    这个面板包含了所有的与IDE相连的设备列表以及每个设备上运行的进程的列表,如下图所示: 

    devices


    显示进程时会显示进程ID(上图中online那一列显示的即是终端上运行的进程的ID) 以及与进程相关联的端口号,连接端口号从8600端口依次往下增加,8700是DDMS接收所有连接终端返回信息的端口,即是base端口。Devices面板顶端从左往右有多个按钮,下面一一分析这些按钮的功能 
    1. Debug: 实现使用DDMS对代码进行调试,使用该功能的前提是IDE中具有该运行进程的源代码,否则该按钮为灰色,功能无法使用. 
    2. Update heap: 实现对进程中的堆进行更新的操作。只有当选择这个按钮后,在右侧的功能面板中的heap选项卡中就能够看见当前进程的堆使用情况: 


    点击Cause GC 可以触发虚拟机的垃圾回收机制。 
    3. Dump HPROF file: 将当前进程堆使用情况生成文档,使用这个功能可以更加详细的分析当前堆的情况,有利于查找内存泄等问题。 
    4. Cause GC: 触发垃圾回收机制,可以点击后查看当前进程的堆使用情况 
    5. Update thread: 这个功能与update heap一样,当点击了这个按钮才能在右侧面板的thread选项卡中查看当前进程的所用的线程运行状态


    6. Start Method Profiling: 开始进行方法分析。这个功能比较重要,后面单独写文章分析 
    7. Stop: 终止当前选中的进程。 
    8. Screen Capture: 截屏按钮,捕获当前设备的屏幕状态,该功能具有一定的延时 

    2.2 功能面板

    功能面板从左到右有多个选项卡分别是: 


    1. Threads: 这个不必多说,表示当前进程中的所有线程状态。 
    2. Heap: 表示当前进程堆使用情况。 
    3. Allocation Tracker: 分配跟踪器,后面单独写文章分析 
    4. NetWork Statistics: 网络分析功能。 
    5. File Explorer: 浏览终端的文件系统,进行文件相关操作。在这里面可以进行将外部文件导入到终端中,或者将终端文件导出,或者删除终端文件,具体操作是右上角三个按钮: 

    文件操作


    文件操作还是比较重要的,比如一个应用涉及到了SQLite数据库使用,此时可以使用这个功能,导出数据库文件单独分析 
    6. Emulator Control: 可以实现往模拟器中打电话,发送短信,发送地理位置坐标等功能。有了AndroidStudio 如果启动了模拟器,可以直接在模拟器上实现相关信息的发送而不需要借助于DDMS 

    控制

    扩展功能

    7. System Information: 这个选项卡里面可以查看终端的CPU负载以及内存使用情况。具体的试过就知道了。

    2.3 LogCat and Console

    这一部分就是系统运行产生的日志信息以及终端打印的信息。比较关心的还是LogCat。 


    这里的LogCat 与AndroidStudio中的LogCat是一样的。使用LogCat可以根据程序中的运行日志判断当前程序运行的状态。终端设备一般运行较多的进程,每个进程运行都有大量的日志产生。因此一般需要使用过滤器过滤其他进程信息。过滤器在Saved Filter中的以添加过滤器:

    设置过滤器


    如果指定要观察某一个进程的日志信息,那过滤器就使用PID(进程ID)进行过滤即可,进程ID可以在Devices面板中得到,过滤的等级根据自己代码中写的等级酌情考虑,这样就能够实现只是观察一个进程的日志信息。

  • 相关阅读:
    ios 分享腾讯微博
    ios 分享微信
    elinput 价格校验 大于0保留2位小数,不包含01,01.1这种
    从范闲到许乐,从宁缺再到陈长生
    二进制流 ajax 实现图片上传
    php 操作redis 部分命令
    matlab 与vs2008联合编程的设置备忘
    新型机器人闯入职场:到底是工作缔造者还是工作终结者?
    c++ vs2008 多线程编程的样例
    虚拟试衣创业公司Fitiquette被印度电商Myntra收购
  • 原文地址:https://www.cnblogs.com/loved-wangwei/p/8992934.html
Copyright © 2020-2023  润新知