爱悠闲 > Android性能专项测试之Heap Snapshot工具

Android性能专项测试之Heap Snapshot工具

分类: Android性能  |  作者: itfootball 相关  |  发布日期 : 2015-09-18  |  热度 : 15°

Speed up your app

Heap Snapshot能做什么?

获取Java堆内存详细信息,可以分析出内存泄漏的问题

Heap Dump启动

这里写图片描述

在内存面包中,点击图中红色标注的按钮,就会显示我们的Heap Snapshot面包

Heap Snapshot面板

这里写图片描述

Heap Snapshot详细信息面板

这里写图片描述
该面板里的信息可以有三种类型:app heap/image heap/zygote heap.
分别代表app 堆内存信息,图片堆内存信息,zygote进程的堆内存信息。

A区域

列举了堆内存中所有的类,一下是列表中列名:

名称 意义
Total Count 内存中该类的对象个数
Heap Count 堆内存中该类的对象个数
Sizeof 物理大小
Shallow size 该对象本身占有内存大小
Retained Size 释放该对象后,节省的内存大小

B区域

当我们点击某个类时,右边的B区域会显示该类的实例化对象,这里面会显示有多少个实体,以及详细信息。

名称 意义
depth 深度
Shallow Size 对象本身内存大小
Dominating Size 管辖的内存大小

当你点击某个对象时,将展开该对象内部含有哪些对象,同时C区域也会显示哪些对象引用了该对象:
这里写图片描述

C区域

这里写图片描述的某对象引用树对象,在这里面能看出其没谁引用了,比如在内存泄漏中,可以看出来它被谁引用,比如上图,引用树的第一行,可以看出来,该对象被Object[12]对象引用,索引值为1,那我们展开后,可以看到,该Object[12]是一个ArrayList.
这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。