LeakCanary的使用

原创 2017年09月14日 19:51:04

LeakCanary是一个对Android和Java进行内存泄露检测的库
使用方法:首先在gradle中进行配置

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

接着自己定义一个Application

public class MyApplication 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;
        }
        refWatcher = LeakCanary.install(this);
        // Normal app init code...
    }

    private RefWatcher refWatcher;

    public static RefWatcher getRefWatcher(Context context) {
        MyApplication application = (MyApplication) context.getApplicationContext();
        return application.refWatcher;
    }
}

当然了这个Application要在manifest中设置成应用的Application

 android:name=".MyApplication"   

当需要检测某个对象是否泄露的时候也很简单

RefWatcher refWatcher = MyApplication.getRefWatcher(this);
refWatcher.watch(object);

注意下调用这个方法的时机应该是object对象已经完成了任务,正常情况下应该被回收掉了,但是如果此时还有别的对象引用了object导致其不能被回收,就会造成内存泄露,LeakCanary就会检测到,并在通知栏提示

这里写图片描述

点击进去的话就会显示内存泄露的信息,即泄露的对象到底是被谁引用了

这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android 项目实例用到的gradle配置技巧

关于grade基本配置,前面已经有四篇文章了,1. Android 项目实例config.gradle配置2.使用gradle的productFlavors实现Android项目多渠道打包 3.使用g...

android Application类的详细介绍

android Application类的详细介绍 分类: android Application类的详细介绍 android 方法详解2011-11-19 14:53 4101人阅读 ...
  • pi9nc
  • pi9nc
  • 2013-09-06 11:00
  • 61170

Mac 私钥与公钥,基本命令

点击finder 前往文件夹 输入~/.ssh 回到主目录 cd ~ 回到上一级目录 cd ..

leakcanary的使用demo

  • 2016-04-16 16:28
  • 9.88MB
  • 下载

LeakCanary (Android 检测内存泄漏工具的使用)

LeakCanary是andrid 检测内存泄漏的工具,使用起来比MAT方便很多下面介绍LeakCanary 的使用 下面是在在androidStudio 中使用 首先 在 build.gradl...

【Android程序优化,避免内存泄露】- [实战一]:避免内存泄露的最后一道墙,使用leakcanary分析程序中的内存泄露。

前言: 打算写一个系列吧,包括程序怎么优化,如何避免内存泄露,出现内存泄露该如何处理分析。 这个系列应该会很长,首先会根据实际项目中遇到的东西总结整理上来,然后会收集网上相关好资源分享。 内容大致分两...

LeakCanary 中文使用说明

LeakCanary Android 和 Java 内存泄露检测。 “A small leak will sink a great ship.” - Benjamin Franklin...

Android程序内存测试框架leakcanary的使用

Android程序内存测试框架leakcanary的使用目前能测试Android程序内存泄漏情况的方法,一个是使用Studio的开发工具自带的检查功能,如果不使用Studio可以使用leakcanar...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)