您的位置:首页 > 游戏 > 手游 > 福州制作网站设计哪里比较好_web服务器搭建_免费学生html网页制作成品_宁波优化网站厂家

福州制作网站设计哪里比较好_web服务器搭建_免费学生html网页制作成品_宁波优化网站厂家

2025/1/10 3:31:28 来源:https://blog.csdn.net/LosingCarryJie/article/details/144729777  浏览:    关键词:福州制作网站设计哪里比较好_web服务器搭建_免费学生html网页制作成品_宁波优化网站厂家
福州制作网站设计哪里比较好_web服务器搭建_免费学生html网页制作成品_宁波优化网站厂家

本文未使用Android Studio内置Profile分析工具,其一是因为使用时AS明显卡顿一不小心就会无响应,其二部分应用无法连接AS 抓取日志,因此采取最原始但是最万能的方式 adb 抓取 + MAT分析

文章目录

  • 1 查看内存情况 adb shell dumpsys meminfo com.gerry.lifecycle
  • 2 dump hprof 并转成 mat格式
  • 3 分析 hprof

1 查看内存情况 adb shell dumpsys meminfo com.gerry.lifecycle

在这里插入图片描述

TOTAL PSS: App进程总内存,313146 KB = 305M
Java Heap: Java堆内存,hprof文件中的内存主要是来自这里, 250476KB = 244M

2 dump hprof 并转成 mat格式

adb shell am dumpheap com.gerry.lifecycle   /data/local/tmp/demo.hprofadb pull /data/local/tmp/demo.hprof /Users/liangchaojie/Desktop/mem/demo.hprofhprof-conv /Users/liangchaojie/Desktop/mem/demo.hprof /Users/liangchaojie/Desktop/mem/demo_mat.hprof

在这里插入图片描述

3 分析 hprof

使用之前提到的 MAT 工具打开 demo_mat.hprof MAT安装教程在这里在这里!
在这里插入图片描述
整个hprof文件221.9M,MainActivity这个对象所引用的对象内存总共205.4M,占比 92.56%,我们点击进入Dominator Tree来分析最大对象是什么
在这里插入图片描述
我们发现MainActivity及其引用的对象内存是215389872 byte = 205.4 MB,占比确实是 92.5%,重点看这个对象引用了哪些对象
在这里插入图片描述
右键点击
在这里插入图片描述
在这里插入图片描述
MainActivity 类内部有一个 list 集合,放了这10000000个对象,检查代码如下
在这里插入图片描述
至此问题就定位到了,原来是创建了很多 Person对象导致的,每个对象多大内存呢?大概16byte

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com