应用场景
如下在调试程序的时候出现程序停止的异常,那么想要知道其中的原因可以使用DDMS
现在是Android Studio 2020.3版本,已经删除了DDMS,其中的功能已经集成到了一些监控的功能中,这里介绍是离线查看DDMS。对于一个开发好的APP出现上述异常,那么就可以将手机连接到电脑,然后打开DDMS进行查看日志信息,从而进行排错
启动DDMS
在SDK安装目录下tools/monitor.bat
,双击该程序,出现以下
DDMS常用功能
日志
通过查看程序的运行日志进行排错
日志面板
- 绿色是程序执行的时候出现的说明性信息
- 蓝色表示调试信息
- 橙色表示警告信息
- 红色表示错误信息
日志过滤
自定义输出日志信息
一般输出的信息是程序自己输出的日志信息,在编写Android应用的时候,可以通过Log类进行自定义输出信息,以下是该类的不同方法
其中v表示输出的是冗余日志信息,i就是对应上述的绿色文字信息,也就是说明性信息,其他同理
日志优先级
Log类使用
第一个参数是日志的标记,刚才过滤器部分的所使用的Log tag就是来自这里,第二个参数是具体的日志信息
Log.e("tag", "错误日志“”error")
Log.w("tag", "警告日志:warn")
Log.i("tag", "说明信息:info")
Log.d("tag", "调试日志:debug")
Log.v("tag", "冗余日志:verbose")
日志的级别过滤器
选择查看的日志,会显示比选中的日志更高级别的日志,如下选择warn,就会显示wran以及error,而不会显示更低级别的verbose、debug以及info信息
堆内存查看器
在代码开发的时候不注意,造成内存泄露,导致堆内存过大,使程序运行变慢甚至崩溃,堆内存查看器进行检测应用内存变化
堆内存查看
data object
这里主要看data object的Total Size
运行我们需要测试的逻辑,例如点击一个按钮跳转等事件,然后再回到DDMS点击cause GC,多次点击触发ause GC,观察Total Size的变化,如果数值一直增大,说明存在内存泄露
文件管理器
可以很方便操作选中的模拟器的文件,如果连接自己的手机,就是管理自己的手机的文件,可以进行上传和下载图片
操作主要有上传和下载
模拟器控制器
主要用于实现对模拟器的控制,例如可以控制给模拟器打电话、发短信或者是控制模拟器在不同的网络
解析
我这里因为使用的是外接的模拟器,上述都是灰色的,不能正常使用,我这里使用的是Genymotion,本身有模拟的功能
屏幕截取
截取当前屏幕的图像