MAT工具使用

一、安装MAT

    eclipse MAT插件: http://www.eclipse.org/mat/downloads.php

二、使用

1.打开ADT的DDMS视图,在devices列表中选择一个进程(这里选择oschina app进行分析)并点击红框处,然后点击右边那个按钮

这时就会出现MAT的overview界面

2.界面分析

a.overview界面,如上图,提供一个概览界面

b.Histogram视图,它提供每个类的对象统计


c.支配树(Dominator Tree),提供程序中最占内存的对象 (described later in the article)


d.对象查询语言(Object Query Language Studio), 用来写MAT查询的工具


e.专家系统测试(Expert System Test)

i.堆Dump概况(Heap Dump Overview) –提供堆dump文件的详细信息

ii.疑似泄露点(Leak Suspects) – 提供内存泄露疑点占用内存大小,被谁加载的,以及类型等详细信息。

iii.Top Components – 提供占内存最多的对象信息,还包括可能的内存浪费信息.

f.查询浏览器(Query Browser) – 提供很多很有用的查询,有助于内存分析,本文将会介绍最有用的那些查询。根据地址查找对象 – 可以根据提供的一个地址查找某个特定的对象.

i.对象列表(List Objects) – 显示应用中所有对象,以及这些对象持有哪些其他对象和被哪些其他对象持有,(MAT会提示查询哪一个对象)。

ii.根据类显示对象(Show Objects by Class) – 列出每个类有多少对象.

iii.到GC根节点的路径(Path to GC Roots) – 显示到根节点的引用路径 (有好多过滤选项).

iv.合并到GC根节点的最短路径(Merge Shortest Paths to GC Roots) –找到从GC根节点到一个对象或一组对象的共同路径

v.即时支配(Immediate Dominators) – Finds and aggregates on a class level all objects dominating a given set of objects. 在给定的一组对象中,从类的层面上查找并聚合所有支配关系。(在垃圾回收理论中支配是指从某个对象在另外一个对象的保留堆中)

vi.显示保留集合(Show Retained Set) – 计算一个对象的保留堆大小.

g.饼图 – 显示持有内存最大的对象

h.直方图 – 显示每个类的对象数量

i.支配树 – 列出所有对象,并按照对象持有的保留堆大小排序

j.检查器 – 选择一个对象,并显示其详细信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值