Android--分析内存溢出原因

分析内存溢出原因

内存分析工具

mat(memory analysis tool)

步骤:

  1. 打开会出现内存溢出的程序,想办法制造内存溢出使程序崩溃;
  2. 进入eclipse的ddms,选中当前要分析的程序;
  3. 点击eclipse中的ddms下的Dump HPROF file这个按键,导出一个xxx.hprof文件;
  4. 得到一个xxx.hprof这个文件之后,在此文件所处目录下按住shift+鼠标右键,选择在此处打开命令窗口;
  5. 在命令行输入”hprof-conv xxx.hprof convert_xxx.hprof(转换后的文件名)”,在该目录下就会生成对应的转化后的一个文件;(这条指令就是执行了sdk下的platform-tools中hprof-conv.exe)
  6. 接下来使用mat内存分析工具,打开convert_xxx.hprof(转换后的文件);
  7. 如图所示:
    这里写图片描述
  8. 点击Shallow Heap根据内存占用多少排序;
  9. 找到占用内存比较多的一条记录,右键选择List Objects–>with incoming reference;
  10. 定位到某个类中,寻找内存泄露的地方;

总结

程序中一定要记得释放资源,特别是图片bitmap和集合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值