Android内存泄漏测试、定位

工具

使用

AS 4.+直接能检测设备内存查看问题所在。

导入LeakCanary

在项目的gradle文件导入LeakCanary,具体操作见leakcanary

当项目出现内存泄漏,通过LeakCanary定位具体的Activity或Fragment。

AS(v3.1.2)获取heap dump文件 .hprof

一、选择Android Profiler,选择MEMORY。

步骤1

二、先强制GC多次,然后获取heap dump信息

步骤2

三、生成heap dump 信息文件 a.hprof

步骤3

四、特别注意,capture出来的 a.hprof 并不能直接交由Ecliplse MAT 处理。需要AndroidSDK提供的hprof-conv工具转码一次:

hprof-conv a.hprof b.hprof

步骤4

MAT分析内存泄漏原因

一、导入转换后的 b.hprof,选择默认项,效果如下:

步骤1

二、获取数据类名

步骤2

三、筛选LeakCanary定位的Activity/Fragment

步骤3

四、选中 查看引用详情

步骤4

五、具体情况具体分析

这里随便找的个并没有内存泄漏的例子,具体情况酌情处理
步骤5

这里涉及到java的GC,以及四种引用类型,之后再做分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值