ddms调试android性能
来源:互联网 发布:python基础教程豆瓣 编辑:程序博客网 时间:2024/05/29 15:53
转载自:http://blog.csdn.net/flowingflying/article/details/15505667
我们将基于Eclipse了解如何对应用进行调试,即debug。Android插件提供的DDMS可以给予很多帮助,包括视图(那个设备被连接),模拟器控制(发送电话呼叫,SMS短信,GPS信息),文件浏览器(查看/传输设备上的文件),thread,heap和allocation跟踪器。
在一个真实设备调测应用,除了将设备设置为USB调测模式,还需要在AndroidManifest.xml的application下设置android:debuggable="true",但这并不需要人工去设置,当从Eclipse直接部署设备或模拟器是,自动设置为true,如果是产品的发布版本,ADT自动设为false。
Debug视图
对于Eclipse,本身就提供debug功能,支持断点设置,可以查看参数值等等,这些都是常规的使用。
DDMS视图
DDMS即Dalvik Debug Monitor Server。如下图所示,可以用于查看应用的运行情况,如线程、存储以及其他统计数据。
查看应用运行状态
点击“Cause GC”将开始手机信息,并随着程序运行增加新的信息。如果在Heap的Tab中发现提示“DDMS Heap updates are NOT ENABLED for this client”,则在下面配置中将相关的开关(Thread updates enabled by default)。关于DDMS使用过程中出现问题,可以参考:http://www.developer.com/ws/android/development-tools/android-ddms-views-tutorial.html
我们可以监控设备上的应用,即时没有源代码,当然对于在真实设备上的释放版本应用,需要将AndroidManiefest.xml中将android:debuggable设置为true。
进入debug状态
在左上角有一个绿色图标,点击可在运行的过程中进入debug状态,也就是之前介绍Debug视图,可以进行断点检查。
HPROF
HPROF是dump a heap and CPU Profiling Agent,可用于查看内存泄漏。如下图,可以用文件保持下来,通过MAT插件打开。
Thread信息
查看选定应用的thread信息如下:
Method信息
在“Update Thread”按钮旁边是“Method profiling”按钮,这是个开关按就,有start和stop两个状态,用于收集应用中methord的信息。我们start它,然后stop它,就出现了TraceView,如下图所示,在右边的trace view中显示详细信息,资源使用的情况,执行的时间等,我们可以据此分析性能瓶颈。
在这里我们可以看到所有方法的信息。我们也可以在代码中使用android.os.Debug类选择要跟踪的代码,如下所示,Android会在设备的SD卡上创建一个basename.trace的文件,该文件可以在SDK/tools的traceview中查看。
Debug.startMethodTracing( "basename" );
... 要跟踪的代码 ...
Debug.stopMethodTracing();
Stop
接着旁边是“stop”按钮,将关闭该应用进程。返回键只影响activity,而DDMS上Stop是关闭整个应用。
截图
接着旁边,照相机图标是“Screen Capture”按钮,可以在此考屏。
UI层次架构信息
再旁边是UI层次结构,可以清晰看到UI层次结构,如下:
其它的
再过去,就是下来菜单,如下。当中Reset adb可以帮助我们同步设备,相当于命令行中的adb kill-server和adb start-server。
Tab中提供的功能
在右边的tab中,提供各类的跟踪和设置。Allocation Tracker可以跟踪内存分配,点击还可以获得具体有哪个方法,代码中的哪一行触发。File Exploer运行我们与设备/模拟器之间进行文件传递。而Emulator Control是较为常用的功能,可以模拟来电、短信和GPS位置信息。这些在未来的学习中都会用到。
相关链接: 我的Android开发相关文章
- ddms调试android性能
- android调试工具DDMS
- android调试之DDMS
- android调试工具DDMS
- android调试工具DDMS
- android调试工具DDMS
- 动态调试android, ddms&ida
- Android开发调试必备 - DDMS
- DDMS调试
- Android 调试工具 DDMS的使用
- 如何使用Android中的DDMS进行调试
- Eclipse 用DDMS 调试Android 程序
- android调试工具DDMS使用总结
- android 真机调试 DDMS 看不到进程
- 学习android之 调试工具DDMS
- Android开发调试必备 - 使用DDMS
- android调试工具DDMS的使用详解
- android调试工具DDMS的使用详解
- Literal控件与Label控件的对比
- Linux动态链接库.so文件的创建与使用
- 出现次数最多的数
- 新的开始
- BF算法及KMP算法总结
- ddms调试android性能
- java调用 javascript
- vs2010下C++调用lib或dll文件
- 在Mac OSX 10.10 上安装opencv
- ArcEngine 一些实现代码
- uva 573 The Snail
- Java缓存
- 【Win7】【网络连接】Win7下不能浏览网页但QQ能成功登陆的解决方案
- 【php】数据库的增删改查和php与javascript之间的交互