您的位置:首页 > 移动开发 > Android开发

Android中内存泄露监测

2015-09-18 11:45 253 查看
在了解了JVM的内存管理后,我们再回过头来看看,在android中应该怎样来监测内存,从而看在应用中是否存在内存分配和垃圾回收问题而造成内存泄露情况。

在android中,有一个相对来说还不错的工具,可以用来监测内存是否存在泄露情况:DDMS—Heap



使用方法比较简单:
选择DDMS视图,并打开Devices视图和Heap视图
点击选择要监控的进程,比如:上图中我选择的是system_process
选中Devices视图界面上的"update
heap" 图标
点击Heap视图中的"Cause
GC" 按钮(相当于向虚拟机发送了一次GC请求的操作)
在Heap视图中选择想要监控的Type,一般我们会观察dataobject的 total
size的变化,正常情况下total size的值会稳定在一个有限的范围内,也就说程序中的代码良好,没有造成程序中的对象不被回收的情况。如果代码中存在没有释放对象引用的情况,那么data object的total
size在每次GC之后都不会有明显的回落,随着操作次数的增加而total size也在不断的增加。(说明:选择好data
object后,不断的操作应用,这样才可以看出total size的变化)。如果totalsize确实是在不断增加而没有回落,说明程序中有没有被释放的资源引用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: