检测内存泄漏常用工具之Leakcanary

在遇到Leakcanary之前,排查Android开发时发生内存泄漏问题,真是蛋疼的要命,后来技术发烧友向我推荐了Leakcanary这款利器,我试着集成到开发项目中,不得了了:内存泄漏定位准确(比如持有static的强引用对象窗体结束后仍然未销毁),让我在解决时候有了一个明确的方向感。让我优雅的处理内存泄漏的排查和解决。感谢Square神器Leakcanary,github开源地址:https://github.com/square/leakcanary

集成方式也是很简单:

首先在build.gradle添加依赖:

dependencies {
   debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.4'
   releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'
 }

然后再程序的Application中的onCreate()方法初始化操作:

public class ExampleApplication extends Application {

  @Override public void onCreate() {
    super.onCreate();
    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);
    // Normal app init code...
  }
}

到这里就可以跑起来自己的项目了,当有内存泄漏的时候,Leakcanary会 显示定位到应用中发生内存泄漏的地方:

这里写图片描述

  • 图上则指明了那个类发生了内存泄漏问题,我们再定位到这个类的方法去调试,发现问题,解决BUG。因此,这个开源工具对我们Android开发者来讲无疑是最好的福音。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值