DDMS

在\android-sdk-windows-1.5_r1\tools目录下,有一个ddms.bat命令;在eclipse中,Window->Open Perspective->Other->DDMS。那么什么是DDMS呢?在android SDK的文档中可以找到其准确定义和使用方法,如下图

下面,我简单介绍一下在我的工作中使用到了哪些DDMS。

 

1. DDMS是桥梁

DDMS为IDE和Emultor(or GPhone)架起来了一座桥梁。Developer可以通过DDMS看到目标机器上运行的进程/线程状态:可以让Eclipse程序连接到开发机上运行;可以看进程的heap信息、logcat信息、进程分配内存情况;可以像目标机发送短信、发送地理位置信息以及打电话;可以像gdb一样attach某一个进程调试。

 

2. DDMS介绍

(1)Device选项卡

Device中罗列了Emulator中所有的进程,选项卡右上角那一排按钮分别为:调试进程、更新进程、更新进程堆栈信息、停止某个进程,最后一个图片按钮是抓取Emulator目前的屏幕。当你选中某个进程,并按下调试进程按钮时,如果eclipse中有这个进程的代码,那就可以进行源代码级别的调试。有点像gdb attach。图片抓取按钮可以把当前android的显示桌面抓到你的机器上,也是非常有用。
(2)Threads选项卡

显示线程统计信息

(3)Heap选项卡

显示栈信息

(4)File Explorer选项卡

显示GPhone Emulator的文件系统信息。File Explorer非常有用:它可以把文件上传到GPhone或GPhone Emulator、或者从GPhone上下载文件下来、也可以进行文件删除操作。选项卡右上角有上传、下载、删除三个按钮。一般情况下,File Explorer会有如下三个目录:data、sdcard、system。

  • data对应手机的RAM,会存放android OS运行时的Cache等临时数据(/data/dalvik-cache目录);没有root权限时apk程序安装在/data/app中(只是存放apk文件本身);/data/data中存放Emulator或GPhone中所有程序(系统apk+第三方apk)的详细目录信息,如下图:

  • sdcard对应sd卡。
  • system对应手机的ROM,OS以及系统自带apk程序等存放在这里。

(5)Emulator Control选项卡

通过它可以向手机发送短信、打电话、更新手机位置信息。

总结:
Eclipse ADT目前提供的的ddms功能只是真正ddms的一小部分,你可以通过ddms.bat命令来使用所有功能。其中有一个查看进程内存分配的功能比较有用。

 

http://203.208.37.132/search?q=cache:uUaVwCqv5QgJ:www.brighthub.com/mobile/google-android/articles/25023.aspx+eclipse+ddms&cd=2&hl=zh-CN&ct=clnk&gl=cn&client=firefox-a&st_usg=ALhdy2-ZSHwyzW-LAEXeoMyYhTiPR2gBMw

http://www.androidres.com/index.php/2009/02/20/android-ddms-tutorials/

http://www.androidres.com/index.php/2009/04/15/android-ddms-garbage-collection/

<think>好的,我现在需要回答用户关于DDMS工具的问题,包括使用说明和功能介绍。首先,我需要仔细理解用户提供的引用内容,提取关键信息。 用户引用了五篇资料,其中提到DDMSAndroid Debug Bridge的一部分,用于调试和管理设备状态[^1]。现在DDMS已经集成到Android Studio的监控功能中,但仍有离线使用方法[^2]。另外,引用[3]提供了详细的使用教程链接,引用[4]提到DDMS结合其他工具进行动态调试,特别是内存分配的追踪工具Allocation tracker在引用[5]中被强调。 接下来,我需要将这些信息组织成结构清晰的回答。首先介绍DDMS的基本概念,然后分点列出主要功能,比如进程监控、内存跟踪、模拟操作等。接着说明使用步骤,包括连接设备、启动工具、选择进程、使用具体功能模块。注意用户可能关心如何在新版Android Studio中使用,所以需要提到替代方案和集成后的位置。最后生成相关问题,帮助用户深入探索。 需要确保所有技术术语准确,比如Allocation tracker的正确描述,以及动态调试的应用场景。同时,按照用户要求,中文回答,使用正确的LaTeX格式,虽然这里可能数学公式不多,但如果有变量或代码,要正确应用格式。检查引用标识是否在适当的位置,例如在功能介绍部分末尾添加对应的引用标记。 最后,生成的相关问题要围绕DDMS的替代工具、具体功能使用、与其他工具集成、常见问题等,确保覆盖用户可能感兴趣的方面。</think>### DDMS工具使用说明与功能介绍 #### **基本概念** DDMS(Dalvik Debug Monitor Server)是Android SDK中的调试工具,集成于Android调试桥(ADB)生态中,主要用于监控设备状态、调试应用程序及分析性能数据。自Android Studio 3.0后,DDMS部分功能被集成到Android Profiler中,但仍可通过`monitor`命令启动独立工具[^2]。 #### **核心功能** 1. **进程与线程监控** - 实时查看设备上运行的进程列表及线程状态。 - 支持手动触发垃圾回收(GC)或堆转储(Heap Dump)分析内存使用[^5]。 2. **内存分配追踪** - 使用**Allocation Tracker**记录对象分配详情,包括分配线程、类名、代码位置等,帮助定位内存泄漏[^5]。 3. **模拟设备操作** - 虚拟地理位置注入(如模拟GPS坐标)。 - 模拟来电/短信,测试应用响应逻辑。 4. **日志查看与过滤** - 通过`LogCat`模块实时显示系统日志,支持按标签、优先级过滤关键信息。 5. **网络流量分析** - 监控应用网络请求的耗时与数据量(需代码插桩支持)。 6. **动态调试支持** - 结合`smalidea`插件调试反编译后的Smali代码,支持断点设置与变量监控[^4]。 #### **使用步骤** 1. **连接设备** ```bash adb connect <设备IP> # 通过USB或Wi-Fi连接设备 ``` 2. **启动DDMS** ```bash monitor # 在命令行执行,启动独立工具 ``` 3. **选择目标进程** - 在设备列表中选择调试目标,双击进入详情页。 4. **功能模块操作** - **内存分析**:点击“Update Heap”按钮获取堆内存快照。 - **分配追踪**:点击“Start Tracking”后操作应用,再点击“Get Allocations”查看结果。 #### **新版Android Studio替代方案** - **Android Profiler**:集成内存、CPU、网络分析功能,路径:`View > Tool Windows > Profiler`。 - **LogCat**:日志查看迁移到Android Studio底部面板,支持高级过滤规则[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值