- Switched to HAHA 2.0.2 with uses Perflib instead of MAT under the hood #219. This should fix most crashes and improve speed a lot. We can now parse Android M heap dumps, although there are still memory issues (see #223).
- A status bar notification is displayed when the trace analysis results in an excluded ref leak #216.
- Added ProGuard configuration for debug library #132.
- 2 new ignored Android SDK leaks: #26 #62. 1 Android SDK leak updated: #133.
- Added excluded leaks to text report #119.
- Added LeakCanary SHA to text report #120.
- Renamed all resources to begin with
leak_canary_
instead of__leak_canary
#161 - No crash when heap dump fails #226.
- AnalysisResult.failure is now a
Throwable
instead of anException
. Main goal is to catch and correctly report OOMs while parsing. - Added ARRAY_ENTRY to LeakTraceElement.Type for references through array entries.
- Renamed
ExcludedRefs
fields. - Each
ExcludedRef
entry can now be ignored entirely or "kept only if no other path". - Added support for ignoring all fields (static and non static) for a given class.
dependencies {
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-SNAPSHOT'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-SNAPSHOT'
}
Snapshots are available in Sonatype's snapshots
repository:
repositories {
mavenCentral()
maven {
url 'https://oss.sonatype.org/content/repositories/snapshots/'
}
}
- Heap dumps and analysis results are now saved on the sd card: #21.
ExcludedRef
andAndroidExcludedRefs
are customizable: #12 #73.- 7 new ignored Android SDK leaks: #1 #4 #32 #89 #82 #97.
- Fixed 3 crashes in LeakCanary: #37 #46 #66.
- Fixed StrictMode thread policy violations: #15.
- Updated
minSdkVersion
from9
to8
: #57. - Added LeakCanary version name to
LeakCanary.leakInfo()
: #49. leakcanary-android-no-op
is lighter, it does not depend onleakcanary-watcher
anymore, only 2 classes now: #74.- Adding field state details to the text leak trace.
- A Toast is displayed while the heap dump is in progress to warn that the UI will freeze: #20. You can customize the toast by providing your own layout named
__leak_canary_heap_dump_toast.xml
(e.g. you could make it an empty layout). - If the analysis fails, the result and heap dump are kept so that it can be reported to LeakCanary: #102.
- Update to HAHA 1.3 to fix a 2 crashes #3 46
- When upgrading from 1.3 to 1.3.1, previously saved heap dumps will not be readable any more, but they won't be removed from the app directory. You should probably uninstall your app.
- Added
android.permission.WRITE_EXTERNAL_STORAGE
toleakcanary-android
artifact. LeakCanary.androidWatcher()
parameter types have changed (+ExcludedRefs).LeakCanary.leakInfo()
parameter types have changed (+boolean)ExcludedRef
is now serializable and immutable, instances can be created usingExcludedRef.Builder
.ExcludedRef
is available inHeapDump
AndroidExcludedRefs
is an enum, you can now pick the leaks you want to ignore inAndroidExcludedRefs
by creating anEnumSet
and callingAndroidExcludedRefs.createBuilder()
.AndroidExcludedRefs.createAppDefaults()
&AndroidExcludedRefs.createAndroidDefaults()
return aExcludedRef.Builder
.ExcludedRef
moved fromleakcanary-analyzer
toleakcanary-watcher
dependencies {
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1'
}
- 33 commits to the LeakCanary library code and 11 commits to HAHA.
- 6 contributors: Pierre-Yves Ricau, Sergey Shulepov, Romain Guy, liaohuqiu, Dario Marcato, Anders Aagaard.
Initial release.
dependencies {
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'
}