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

背景:相信做大家都听过或者用过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
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自blog.csdn.net/qq_33897656/article/details/80361401