android 如何检测内存泄漏
1、首先最容日上手敛财醣沁并且效果还不错,那就要属LeakCanary,效果也直观,具体的使用配置也很简单。在项目的build.gradle中加入以下引用:// 内存存泄漏检测 de芟鲠阻缒bugCompile 'com.squareup.leakcanary:leakcanary-android:1.5' releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5' testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
2、在application中初始化LeakCanary,到此处配置完成/** 苇质缵爨Explain : 初始化内存泄漏检测 * @author LiXaing private void initLeakCanary() { 进行辅助。 if (LeakCanary.isInAnalyzerProcess(this)) { return; } LeakCanary.install(this); }
3、当前就从网络上获取到了一张关于,在发生内存泄漏的时候,会在通知栏出现一个提示图标,当点击进去之后,就是现在展示的这张图片,会直观的展示内存泄漏的位置。
4、通过LeakCanary的使用,它可以为我们快速找到内存泄漏的位置,但并不能够提供我们内存泄漏的原因,有的时候,内存泄漏的位置是由于其他原因导致的。
5、我曾经就碰到过一次,由于Fragment未能被回收,从而导致了EventBus未能解绑(在onDestory中有解绑EventBus),导致的EventBus也存在内存泄漏,而导致的原因并非是没有解绑;所以内存泄漏的位置,并不一定就是导致泄漏的根本原因,所以后面及有可能还需要其他的工具。