eclipse中的内存分析工具heap的使用详情与见解

1、首先是Heap的使用

   1.1 首先将手机通过USB接口连接了eclipse之后,运行你需要分析内存的app;

         如下图,选中了你的程序,然后点击画了 的  “Heap”按键;
         

  1.2 然后再点击选项中的按键,出现了如下的画面以后再点击如下图“Cause GC”按钮

    ,就会获取到手机中该app运行时候的内存状态效果;

           说明:当内存使用信息第一次显示以后,无须再不断的点击“Cause GC”,Heap视图界面会定时刷新,
        在对应用的不断的操 作过程中就可以看到内存使用的变化
     

   1.3分析数据

         内存容量的分析如下图:

    

这些数据包括当前的数据对象,类对象个数,我们主要关注的是最上面的那个汇总栏(有ID的那个表格),还有下面的data object(数据对象),也就是我们的程序中大量存在的类类型的对象。

在data object一行中有一列是“Total Size”,其值就是当前进程中所有Java数据对象的内存总量,一般情况下这个值的大小决定了是否会有内存泄漏。可以这样判断:
a) 不断的操作当前应用,同时注意观察data object的Total Size值;

b) 正常情况下Total Size值都会稳定在一个有限的范围内,也就是说由于程序中的的代码良好,没有造成对象不被垃圾回收的情况,所以说虽然我们不断的操作会不断的生成很多对象,而在虚拟机不断的进行GC的过程中,这些对象都被回收了,内存占用量会会落到一个稳定的水平;

c) 反之如果代码中存在没有释放对象引用的情况,则data object的Total Size值在每次GC后不会有明显的回落,随着操作次数的增多Total Size的值会越来越大,  直到到达一个上限后导致进程被kill掉,这就是我们不希望的!

1.4 这个工具的总结思考

    在我看来也只是分析在那个app操作步骤以后会出现内存突然变大的可能而已;对于快速定位到问题所在还是不够具体;
还有可能就是我自己思考的不够。如有好的建议,请多多指点;
 
 
 
该文章有一些内容参考其他作者的文章,如果涉及到请联系,涉及不便,望谅解


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值