在分析前可以阅读下这篇文章,很多内容就都知道了https://www.jianshu.com/p/738b4f3bc44b,下面我来分析上一篇文章内存泄漏的为问题

1。上一篇中已经生成了hprf的文件了,现在我们就对他进行分析,确认电脑已经安装了MAT工具,在MAT直接打开文件,就看到如下图,在点击

Leak Suspects 这个链接,查看内存泄漏

2.问题显示,查看详情

3.详细信息中 这一步就很看到其实arraylist这里的占用的实际堆有些多,需堆,和保留堆,在链接中有解释,

t表示GC root到内存消耗聚集点的最短路径,如果某个内存消耗聚集点有路径到达GC root,则该内存消耗聚集点不会被当做垃圾被回收。也定位是arraylist,这个函数有问题,查看代码,发现list只增,不释放,代码已定位

4.其实有最方便的一种方式,抓取两个文件,进行对比 查看堆的大小,如果堆的某些数据持续上升,且不下降,就可能是存在问题,在线程诊断中也有提出main 函数中存在内存泄漏

最新文章

  1. 利用bootstrap的carousel.js实现轮播图动画
  2. 深入理解和应用Float属性
  3. MyBatis学习(二)
  4. myeclipse的web project中使用dom4j报错java.lang.ClassNotFoundException: org.dom4j.Document
  5. CSS3 线性渐变(linear-gradient) 兼容IE8,IE9
  6. 蒙地卡罗法求 PI
  7. 省时的浏览器同步测试工具 browsersync NodeJS
  8. Win10环境下使用VS2015编译PJProject
  9. C#读取XML配置文件
  10. 新RSS reader
  11. 大数据项目测试<二>项目的测试工作
  12. Python面向对象1:类与对象
  13. c++学习之字符串拼接
  14. canvas的api小结
  15. win10下正确使用Sublime Text搭建python调试环境
  16. visual studio2017----编码和行尾
  17. openstack--9--深入理解虚拟机
  18. Linux centos7 下 svn 服务器搭建
  19. Flask学习【第8篇】:flask-session组件
  20. Redis php常用操作

热门文章

  1. JQuery学习笔记之属性与样式
  2. sublime设置代码缩进
  3. 微信开发:"errcode": -1000,"errmsg": "system error"错误的解决办法
  4. Laravel5.4框架中视图共享数据的方法详解
  5. 【Redis】远程访问不了
  6. HTTP Status 500 - javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag
  7. Likelihood function
  8. BZOJ 3048: [Usaco2013 Jan]Cow Lineup 双指针
  9. Reactive Extensions (Rx) 入门(4) —— Rx的事件编程
  10. [RN] React Native 滚动跳转到指定位置