Android 内存泄漏利器-LeakCanary(最新使用)

前言

LeakCanary is a memory leak detection library for Android.

上面是官方文档给出的介绍,LeakCanary是一个在android上检测内存泄漏的依赖。

使用方法

只需要在你的build.gradle中添加如下依赖即可。

debugImplementation ‘com.squareup.leakcanary:leakcanary-android:2.2’

好了,在你的手机上运行一下,试试效果吧! 没错就是这样。

笔者曾去网上查了很多LeakCanary使用教程,发现,版本都是1.6什么的,但是在我的手机上无法起到检测内存泄漏的作用

使用效果

我们运行我们的app,然后当出现内存泄漏的时候,通知栏会告诉我们出现了内存泄漏,并会在桌面生成一个leaks图标
在这里插入图片描述
点开之后往下看,就可以看到内存泄漏出现的位置
在这里插入图片描述
例如上面我出现的这个内存泄漏就很经典。当你将activity的context传入其他类时,当activity销毁时,一些引用并不会被回收,这跟jvm的对象回收机制有关。

我们通过LeakCanary的信息可以找到具体的位置
在这里插入图片描述
就是这个位置了,这种问题的解决办法就是尽量传入Application的Context,像这样

 FaceInfoGetUtil.getInstace(MyApplication.getContext())

结语

如果你是一个热衷于高质量代码的Android 开发,LeakCanary会是一个必不可少的懒人神器。

发布了266 篇原创文章 · 获赞 133 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/weixin_43889841/article/details/104858064