Android--分析内存溢出原因

来源:互联网 发布:淘宝上电棍叫什么 编辑:程序博客网 时间:2024/06/05 07:55

分析内存溢出原因

内存分析工具

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
原创粉丝点击