安卓内存监控监控 DDMS

一、什么是内存泄露
 
    内存泄露是指程序中间动态分配了内存,但是在程序结束时没有释放这部分内存,从而造成那一部分内存不可用。导致系统运行变慢或应用程序崩溃。
二、如何检测Android中的内存泄露
 
    Androidtools中的DDMS带有一个很不错的内存监测工具Heap,可以检测一个进程的内存变化,根据这个工具我们大致可以测试某个应用是否存在泄漏的可能。
三、具体操
 
  1、打开eclipse,切换到DDMS,并确认Devices视图、Heap视图都是打开的;
 
  2、将手机通过USB链接至电脑,链接时,选择“USB调试”模式;
 
  3、链接成功后,在DDMS的Devices视图中将会显示手机设备的序列号,以及设备中正在运行的部分进程信息
 
  4、在Devices 中,点击要监控的程序。
 
  5、点击Devices视图界面中最上方一排图标中的“Update Heap”
 
  6、点击Heap视图
 
  7、点击Heap视图中的“CauseGC”按钮;
 
  8、到此为止需检测的进程就可以被监视。如下图:

四、如何判断内存泄露
 
  Heap视图中部有一个Type叫做dataobject,即数据对象,也就是我们的程序中大量存在的类类型的对象。在data object一行中有一列是“TotalSize”,其值就是当前进程中所有Java数据对象的内存总量,一般情况下,这个值的大小决定了是否会有内存泄漏。可以这样判断:
1.进入某应用,不断的操作该应用,同时注意观察data object的Total Size值
2.正常情况下Total Size值都会稳定在一个有限的范围内.
3.反之如果代码中存在没有释放对象引用的情况,则data object的TotalSize值在每次GC后不会有明显的回落,随着操作次数的增多TotalSize的值会越来越大,直到到达一个上限后导致进程被kill掉。
     
    在我们的程序中,要是出现某个进程出现了不断增加的现象,可能该应用就存在泄漏的问题如果某个进程在操作过程中出现程序崩溃,可能该应用程序已申请不到空间,可能存在内存泄露。

此文章转载至

笑傲人生的博客

http://blog.sina.com.cn/xiyouchao    特此说明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值