内存情况分析

171 阅读1分钟

锯齿状

studio profiler

使用 android studio 自带的 memory profiler,再使用其中的 record allocations 功能即可

image.png

在弹出的界面中,可以选择按调用栈查看,就可以知道哪个地方在不停地搞事

image.png

mat

  1. 波峰波谷时分别 dump 内存快照,用 mat 打开
  2. 切到一个快照的直方图界面
  3. 按下图与另一个快照比对

image.png

上述示例可一眼看出增加的元素,后继需要结合源码、OQL 等方法确定具体位置

比对

  1. 上面是直接比对两个 hprof 文件。任意两个操作都可进行比对。比如下面将 oql 查询结果插入到 compare basket 中。同样,将别的若干添加到 compare basket 中

    image.png

  2. 然后切换到 compare basket 选项,点击红色感叹号进行比对。其中 #1,#2 的编号表示 compare basket 中的第一个与第二个

image.png