Android内存泄露自动检测神器LeakCanary

xiaoxiao2021-02-28  43

背景:相信做大家都听过或者用过LeakCanary这个检查内存泄漏工具,但是大部分都是在As上面使用的。但是还有有一部人代码是Eclipse上面编码的。也想用怎么办呢?当然也是可以的。

1.下载Eclipse版本的LeakCanary

下载地址:https://github.com/zsj1225/LeakCanary4Eclipse下载导入Eclipse。依赖关系如下:LeakAnalyzer依赖LeakWacher

image.png

DisplayLeakActivity依赖LeakAnalyzer

image.png

我们的项目依赖DisplayLeakActivity

image.png

2、在application 初始化leakcanary

@Override public void onCreate() { super.onCreate(); //LeakCanary start if (LeakCanary.isInAnalyzerProcess(this)) { // This process is dedicated to LeakCanary for heap analysis. // You should not init your app in this process. return; } LeakCanary.install(this); //LeakCanary end }

3、在AndroidMainfest.xml 中配置

<!--leakcanary start --> <!-- 写SD卡权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <service android:name="com.squareup.leakcanary.internal.HeapAnalyzerService" android:process=":leakcanary" android:enabled="false" /> <service android:name="com.squareup.leakcanary.DisplayLeakService" android:enabled="false" /> <activity android:theme="@style/leak_canary_LeakCanary.Base" android:name="com.squareup.leakcanary.internal.DisplayLeakActivity" android:enabled="false" android:label="@string/leak_canary_display_activity_label" android:icon="@drawable/leak_canary_icon" android:taskAffinity="com.squareup.leakcanary" > <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activity android:theme="@style/leak_canary_Theme.Transparent" android:name="com.squareup.leakcanary.internal.RequestStoragePermissionActivity" android:taskAffinity="com.squareup.leakcanary" android:enabled="false" android:icon="@drawable/leak_canary_icon" android:label="@string/leak_canary_storage_permission_activity_label" /> <!--leakcanary end -->

完成上面三步就完成配置了。

作者:zsj1225 链接:https://www.jianshu.com/p/428f52e8ff5c 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
转载请注明原文地址: https://www.6miu.com/read-2621364.html

最新回复(0)