Clone this repo:
  1. a7e9525 Merge pull request #765 from dandc87/explicit_run_with by Jake Wharton · 2 hours ago master
  2. cdb2afb Add `@RunWith(JUnit.class)` to un-annotated test classes by Adam Koski · 3 hours ago
  3. 0acb53b Merge pull request #763 from square/jrod/oem-leaks by John Rodriguez · 3 days ago
  4. 6b51111 Add exclusion for LG's LGContext Context leak by John Rodriguez · 3 days ago
  5. 0fce6df Add exclusion for Samsung's SemEmergencyManager Context leak by John Rodriguez · 3 days ago

LeakCanary

A memory leak detection library for Android and Java.

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

screenshot.png

Getting started

In your build.gradle:

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

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 memory leak is detected in your debug build.

Questions? Check out the FAQ!

icon_512.png

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.