导入
导入 Leakcanary-watcher、Leakcanary-analyzer、Leakcanary-android, 在当前项目的引用 Leakcanary-android 这个 library。
在 AndroidManifest 中配置
打开当前的 AndroidManifest 添加下面的代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 <service android:name ="com.squareup.leakcanary.internal.HeapAnalyzerService" android:enabled ="false" android:process =":leakcanary" /> <service android:name ="com.squareup.leakcanary.DisplayLeakService" android:enabled ="false" /> <activity android:name ="com.squareup.leakcanary.internal.DisplayLeakActivity" android:enabled ="false" android:icon ="@drawable/leak_canary_icon" android:label ="@string/leak_canary_display_activity_label" android:taskAffinity ="com.squareup.leakcanary" android:theme ="@style/leak_canary_LeakCanary.Base" > <intent-filter > <action android:name ="android.intent.action.MAIN" /> <category android:name ="android.intent.category.LAUNCHER" /> </intent-filter > </activity > <activity android:name ="com.squareup.leakcanary.internal.RequestStoragePermissionActivity" android:enabled ="false" android:icon ="@drawable/leak_canary_icon" android:label ="@string/leak_canary_storage_permission_activity_label" android:taskAffinity ="com.squareup.leakcanary" android:theme ="@style/leak_canary_Theme.Transparent" />
还有权限
1 2 <uses-permission android:name ="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name ="android.permission.WRITE_EXTERNAL_STORAGE" />
在 Application 中初始化
新建一个 Application 类,继承自 Application 的,如果你项目已经有那就不需要新建了。
覆盖 onCreate() 方法,在 onCreate() 方法里调用 LeakCanary 的 install() 方法就可以了。
1 2 3 4 5 6 7 8 9 10 11 12 public class MyApplication extends Application { @Override public void onCreate () { super .onCreate(); if (LeakCanary.isInAnalyzerProcess(this )) { return ; } LeakCanary.install(this ); } }
感谢