android调试工具DDMS使用总结
操作方法
- 01
1.debug process,断点调试程序: 个人总结断点调试程序有2种情况。1.eclipse中的project代码编译正确,应用运行在android系统上,这个时候调试就像普通的java或者vc6.0断点调试一样。2.导入的代码因为接口等原因一堆报错比如android的phone模块,或者这个project就不能再eclipse上编译比如framework中的某个模块。这个时候的调试步骤就需要注意一点:a.找到对应的进程 b.鼠标选中该进程,注意此时DDMS会在这个进程的threadID后面增加一个8700。c.在对应的project下面,点击鼠标右键选择debug configuration,讲8700填在port这一栏中。最后执行程序,就会在你打断点的地方停住,当然正在执行的进程和本地代码最好同步。这一步中找到正确的进程挺重要的,这里在说明下,framework下面一般在system process这一进程。 2.update heap,这个是用来更新进程中堆占用的内存,也就是进程的数据对象占用的内存大小,一般结合第4个GC一起使用。 3.Dump HPROF FILE,这个是统计进程的占用的内存信息的。选中一个进程,点击这个按钮会生成一个文件,可以查看当前进程使用的内存分配情况。一般结合Eclipse的内存分析工具EMT插件就可以大致分析出该进程的哪块代码在占用很高的内存。因此这个在应用程序所占内存分析中经常用到 4.Cause GC 在3进程的堆内存回收。 5.Update Threads 可以查看当前进程中各个线程的信息,显示在旁边的threads框里。 6.Start Methor Profiling 虽然google的说明里面把它排到第二个,但是由于使用方便,倒是最经常使用这个。选择一个进程,进行一系列操作之后,这个功能会生成一张时序图,里面给出了这一系列操作中各个方法以及其调用到的方法,并且给出了每个方法的时间。google还提供了一个搜索框,直接输入方法名的小写就可以查到该方法,该方法的父方法和子方法。这个在性能优化和分析代码流程时候使用起来很方便。 7.Stop Process,这个从字面意思就可以看出,终止进程用的。 8.Screen Capture 系统屏幕截图。 9.Dump View Hierarchy for UI Automator 这个感觉和老版本的层级视图器一样,而且感觉功能更加的强大。不过个人习惯了层级视图器。 10.Capture System Wide Trace ,用来分析APK的性能的。 11.最后重启ADB,目前android系统如果有多个DDMS端存在的话,只会有一个能显示完整的进程信息,关掉的了别的DDMS端之后,有时候要reset一下才能完整的获取手机进程信息。