LeakCanary

Additional

Language
Java
Version
v1.6.2 (Oct 17, 2018)
Created
Apr 30, 2015
Updated
Nov 22, 2018
Owner
Square (square)
Contributors
Jerzy Chałupski (chalup)
edenman
IlyaGulya
Romain Guy (romainguy)
Goddchen
Nabil Hachicha (nhachicha)
dmarcato
jimmithy
andaag
scottkennedy
swankjesse
Zac Sweers (hzsweers)
matthewmichihara
Ian Thomas (ToxicBakery)
Daniel Lew (dlew)
Simon Marquis (SimonMarquis)
PY (pyricau)
Huqiu Liao (liaohuqiu)
Show all (56)56
Activity
Badge
Generate
Download
Source code
APK file

Commercial

LeakCanary

A memory leak detection library for Android and Java.

“A small leak will sink a great ship.” - Benjamin Franklin

Getting started

In your build.gradle:

dependencies {
  debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.2'
  releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.2'
  // Optional, if you use support library fragments:
  debugImplementation 'com.squareup.leakcanary:leakcanary-support-fragment:1.6.2'
}

In your Application class:

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...
  }
}

You're good to go! LeakCanary will automatically show a notification when an activity or support fragment memory leak is detected in your debug build.

What's next? You could watch a live investigation then customize LeakCanary to your needs.

FAQ

License

Copyright 2015 Square, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.