Android应用内存泄漏的跟踪与分析

1、内存泄漏的排查方法

DDMS(Dalvik Debug Monitor Server),现在改叫ADM(Android Debug Monitor)了。

它有两项功能可用于内存检查 :
· Heap 查看堆的分配情况(点击DDMS左侧Device工具栏上的Heap Update按钮,再点击Heap页里的CauseGC)。
· Allocation Tracker跟踪内存分配情况。
DDMS 这两项功能有助于找到内存泄漏的操作行为。
MAT(Eclipse Memory Analysis Tools是一个分析 Java堆数据的专业工具,用它可以定位内存泄漏的原因。
工具地址 : https://www.eclipse.org/mat/

2、利用MAT分析内存堆

DDMS 可以将当前的内存 Dump成一个 hprof格式的文件,MAT 读取这个文件后会给出方便阅读的信息。

配合它的查找,对比功能,就可以定位内存泄漏的原因。
· 获取 hprof文件(点击DDMS左侧Device工具栏上的Dump Hprof File按钮,将内存信息保存成文件。 
· 转换 hprof文件(DDMS Dump 出的文件,要经过转换才能被 MAT识别,Android SDK提供了工具 hprof-conv)。
它位于Android\SDK\platform-tools目录下。使用如下命令:hprof-conv dump.hprof out.hprof
用 MAT打开转换后的 out.hprof 文件 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值