下面是一个完整的示例,展示如何在一个使用 Java + Android Studio 的项目中集成和使用 LeakCanary 来检测内存泄漏。
1. 添加 LeakCanary 依赖(build.gradle
)
在 app/build.gradle
中添加以下内容(只在 debug 版本启用 LeakCanary):
dependencies {
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.14'
}
然后点击 “Sync Now” 同步依赖。
2. 无需额外初始化
LeakCanary 会自动在 debug
环境下安装,不需要在 Application 中手动初始化。
3. 模拟一个内存泄漏(Java 示例)
创建一个 Activity,模拟内存泄漏的情况:
// LeakyActivity.java
package com.example.leakdemo;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
public class LeakyActivity extends Activity {
// ⚠️ 静态 Handler 会持有 Activity 引用,导致泄漏
private static Handler sHandler = new Handler();
@Override
protected vo