Android命令行工具(2)——DDMS

简介: DDMS全称Dalvik Debug Monitor Service,功能很是强大,可以用来截取连接的设备或虚拟机屏幕,可以查看正在运行的进程的堆和线程信息,可以模拟电话拨打、短信发送,虚拟设置地理位置,还包括文件浏览器,内存分配跟踪等。

DDMS全称Dalvik Debug Monitor Service,功能很是强大,可以用来截取连接的设备或虚拟机屏幕,可以查看正在运行的进程的堆和线程信息,可以模拟电话拨打、短信发送,虚拟设置地理位置,还包括文件浏览器,内存分配跟踪等。本文继续结合官方文档,主要介绍一些关于DDMS的用法。(下图是通过Eclipse启动的DDMS)



启动DDMS

有两种启动方式:

一是在命令行定位到sdk安装路径的tools目录下启动;

还有就是在Eclipse中,点Window>Open Perspective>Other>DDMS

值得注意的是通过这两种方式启动的DDMS是有一点差异的,不过整体功能大体类似,可以比照一下。(下图是通过命令行启动的。)


具体用法(这里以在Eclipse中启动的DDMS为例):


查看进程的堆使用情况:

1.在DDMS的左侧视图中,选择要查看的进程。

2.然后点击上方的Update Heap按钮。

3.在右侧点Heap,就可以看到该进程分配的对内存大小和使用的对内存大小等。

4.还可以通过点击下面列表的中的type,来查看Allocation count per size


查看对象的实时内存分配情况:

1.在DDMS的左侧视图中,选择要查看的进程。

2.在右侧的Allocation Tracker标签页,单击Start Tracking按钮开始追踪对象的内存分配。

3.单击Get Allocations按钮查看从单击Start Tracking按钮到目前为止产生的对象,具体信息还包括对象所在的类和线程等。再单击Get Allocations按钮会查看新产生的对象。

4.单击Stop Tracking按钮,可以停止追踪。

5.通过单击列表中的某一项,还可以查看更详细的信息,比如对象所在的类、方法和文件等。


屏幕捕捉:

可以通过点击DDM的左侧视图的上方的Screen Capture按钮,来显示当前的设备或模拟器的屏幕。


使用文件浏览器:

通过点击右侧的File Explorer,可以查看、删除、复制设备或模拟器中的文件。并且可以通过点击Pull File将设备或模拟器上的文件复制下来,而向设备上传送文件可以通过点击Push File按钮。


查看进程的线程信息:

可以通过在DDMS左侧的试图中选择感兴趣的进程,然后点上方的Update Threads来在右侧的Threads标签页中,查看线程信息,包括线程ID、状态、名称等信息。


进行函数剖析(method profiling

通过函数剖析,可以查看函数在某段时间内被调用的次数、执行的时间等信息。

还有点需要注意的是,对于函数剖析功能,Android1.5是不支持的,Android2.1和之前的版本必须要有SD卡,并且程序具有向SD卡的写权限,Android2.2和之后的版本则不需要


使用LogCat

可以在程序中,通过使用Log类来向LogCat打印信息。


模拟手机操作和定位

可以通过DDMSEmulator Control标签页来向模拟器发送短信,拨打电话,设置经纬度等。


另请参看:

http://developer.android.com/guide/developing/debugging/ddms.html

相关文章
|
Shell Android开发
解决Android的adb命令行报错Permission denied
解决Android的adb命令行报错Permission denied
2364 0
解决Android的adb命令行报错Permission denied
|
数据可视化 开发工具 Android开发
【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read | 使用命令行提交代码 )
【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read | 使用命令行提交代码 )
402 0
【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read | 使用命令行提交代码 )
|
SQL 人工智能 移动开发
Android Logcat 命令行工具
Logcat 是一个命令行工具,用于转储系统消息日志,包括从您的应用使用 Log 类写入的消息。 logcat还是比较简单的,我们在此只记录一下我们日常工作可能会用的比较多的一些用法。
Android Logcat 命令行工具
|
SQL 人工智能 Java
Android 命令行工具简介
Android SDK 中包含了开发应用所需的多个软件包。本页列出了可供使用的最重要的命令行工具(按提供这些工具的软件包整理)。
|
缓存 测试技术 Shell
详细解读Android开发命令行完全攻略
详细解读Android开发命令行完全攻略
144 1
|
缓存 测试技术 Shell
详细解读Android开发命令行完全攻略
详细解读Android开发命令行完全攻略
111 0
|
Java Android开发
命令行生成Android jks签名文件并获取jks信息
命令行生成Android jks签名文件并获取jks信息
882 0
|
开发工具 Android开发
【Android 命令行工具】Android 命令行工具简介 ( 官方文档 | SDK 命令行工具 | SDK 构建工具 | SDK 平台工具 | 模拟器工具 | Jetifier 工具 )
【Android 命令行工具】Android 命令行工具简介 ( 官方文档 | SDK 命令行工具 | SDK 构建工具 | SDK 平台工具 | 模拟器工具 | Jetifier 工具 )
1029 0
【Android 命令行工具】Android 命令行工具简介 ( 官方文档 | SDK 命令行工具 | SDK 构建工具 | SDK 平台工具 | 模拟器工具 | Jetifier 工具 )
|
Java Android开发 Kotlin
【错误记录】记录 Android 命令行执行 Java 程序中出现的错误 ( dx 打包 PC 可执行文件报错 | dalvik 命令执行 kotlin 编译的 dex 文件报错 )
【错误记录】记录 Android 命令行执行 Java 程序中出现的错误 ( dx 打包 PC 可执行文件报错 | dalvik 命令执行 kotlin 编译的 dex 文件报错 )
550 0
【错误记录】记录 Android 命令行执行 Java 程序中出现的错误 ( dx 打包 PC 可执行文件报错 | dalvik 命令执行 kotlin 编译的 dex 文件报错 )
|
Android开发
【Android 逆向】修改运行中的 Android 进程的内存数据 ( Android 命令行中获取要调试的应用进程的 PID | 进程注入调试进程内存的 so 库 )
【Android 逆向】修改运行中的 Android 进程的内存数据 ( Android 命令行中获取要调试的应用进程的 PID | 进程注入调试进程内存的 so 库 )
288 0
【Android 逆向】修改运行中的 Android 进程的内存数据 ( Android 命令行中获取要调试的应用进程的 PID | 进程注入调试进程内存的 so 库 )

热门文章

最新文章

  • 1
    Android实战经验之Kotlin中快速实现MVI架构
    344
  • 2
    即时通讯安全篇(一):正确地理解和使用Android端加密算法
    211
  • 3
    escrcpy:【技术党必看】Android开发,Escrcpy 让你无线投屏新体验!图形界面掌控 Android,30-120fps 超流畅!🔥
    555
  • 4
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    854
  • 5
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    313
  • 6
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    232
  • 7
    Android历史版本与APK文件结构
    739
  • 8
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    246
  • 9
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    262
  • 10
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
    491