DDMS

1、什么是DDMS?

安卓开发环境当中提供的调试工具。

2、作用是什么?

通过DDMS可以查看指定进程中正在运行的线程信息、内存信息、内存分配以及为测试设备截屏查看Logcat日志等等。

3、如何打开?

方法一:AS中直接打开,需要先开启模拟器或连接手机,因为DDMS主要用于监控虚拟机(当使用AS开发应用时就通过方法一启动DDMS)

方法二:在SDK安卓路径下有可独立运行的程序,运行即打开(当已经开发好的应用在手机或模拟器上运行时,若出现停止运行的对话框可通过方法二查看运行日志)

4、有什么功能?

堆内存查看器Heap:若出现内存泄漏从而导致系统运行变慢或应用程序崩溃,为此,DDMS提供了内存检测工具------堆内存查看器,通过它可以检测一个正在运行的APP应用的内存变化,从而检测出某一个APP是否存在内存泄漏的可能。

步骤:打开模拟器,运行其中的一个应用程序,按照如下步骤执行:

 

 

 

通过查看data object就能查看内存是否泄露,判断方式:

进入该APP中反复进行操作,然后观察data object的Total Size,当每次单击Cause GC时,Total Size没有明显的回落反而越来越大,就说明该应用可能存在内存泄漏。

文件管理器File Explorer:管理虚拟机中的文件,可以导入或导出文件,按照如下步骤执行:

 

 

 

模拟器控制器Emulator Control:主要实现对模拟器的控制,通过模拟器可以实现拨打电话发送短信等功能。

屏幕截取Screen Capture

5、输出日志信息:

Log类的结构:

java.lang.Object

android.util.Log

Log类提供的方法(颜色对应 日志信息的颜色):

 

 

w():输出警告日志

i():输出程序中的说明性日志(普通信息)

e():输出错误日志

v():输出冗余日志

d():输出调试日志

比如:

private static String TAG="MainActivity";

在onCreate()方法中:

//第一个参数是定义的TAG,第二个参数是要输出的具体的日志信息

Log.e(TAG,"MR输出的【错误信息】");

然后运行程序后根据定义的TAG信息在DDMS中设置过滤器进行查找。

6、程序调试

方法一:使用AS编辑器调试

方法二:使用AS调试器调试Debugger

单步跳过Step Over(F8):运行单独的一行程序代码,但不进入执行这个方法的内部,然后跳到下一个可执行点。

单步跳入Step Into(F7):进入到调用方法或对象内部单步执行程序。

强制单步跳入:直接跳入所有被调用的方法。

单步跳出Step Out(Shift+F8):跳出当前进入的方法,重新返回到该代码中。

跳入下一个断点(Run to Cursor(Alt+F9)):用来跳入下一个断点,单击此按钮后该程序继续执行到下一断点,直至程序结束。

 

posted @ 2021-10-20 09:35  Sunshine_y  阅读(628)  评论(0编辑  收藏  举报