LeakCanary的使用

本文介绍如何使用LeakCanary工具进行Android应用的内存泄漏检测。文章详细阐述了LeakCanary的工作原理及其在Android开发中的接入步骤,并提供了一个测试用例,帮助开发者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GitHub地址

Square公司开发可以直接在手机端查看内存泄露的工具

实现原理:本质上还是用命令控制生成hprof文件分析检查内存泄露,然后发送通知。

接入步骤:


1.添加依赖:
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.1'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'

2.application的onCreate()中:
if (LeakCanary.isInAnalyzerProcess(this)) {
    return;
}
LeakCanary.install(this);
}
在API14以上可直接检测泄漏。

以下为测试用例:
public class TestActivity extends BaseActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);

    }

    @Override
    protected void onStart() {
        super.onStart();
        new Thread() {
            @Override
            public void run() {
                while (true) {
                    try {
                        Thread.sleep(1000);
                        Log.e(getPackageName(), "LeakCanary ----->>>>> " + System.currentTimeMillis());
                    } catch (Exception e) {
                    }
                }
            }
        }.start();
    }
}


运行之后,测试机会同步安装Leaks。

如图:


运行中,出现:


代表捕获了泄漏位置。
找到通知栏:


点击进入后,会看到:


另附:

LeakCanary检测内存泄漏及解决办法








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值