Android内存--内存分配情况分析

本文个人记录用,随手写写。

观察Android Studio Monitor内存变化,一直增加或者内存抖动?

Heap查看

  1. android studio 中 Dump Heap出来一个hprof,在captures中看到这个文件,右击转换为标准hprof文件方便在MAT中查看
  2. MAT中打开hprof Histogram查看每个类的实例个数,通过regex筛选出自己应用的类
  3. 分析,通过查看每个类的示例个数和本该有的实例个数进行比较,看到不正常的类

如图:

mat-histogram-overview

  1. List objects With Outgoing References 查看所有该实例引用的对象 With Incoming References 查看被什么对象引用 Path to GC Roots Merge Shortest Paths to GC Roots 显示GC根节点到选中对象的引用路径(一般用这个就可以清楚看到引用链)

如图:

mat-histogram-gcroot

内存泄漏

android studio打开hprof,有个功能是Analyser tasks,可以检测activity泄漏和字符串拼接问题