Code Documentation
Demo Projects
>
leakcanary
>
main
main
square/leakcanary
Get started
View on GitHub
Download main branch as Markdown
General
README
Tech Stack
.
LICENSE.txt
mkdocs.yml
shark-cli.sh
config
detekt-config.yml
docs
requirements.txt
docs/theme
main.html
leakcanary/leakcanary-android/src/androidTest/java/leakcanary
LeakActivityTest.kt
leakcanary/leakcanary-android/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-core
lint.xml
leakcanary/leakcanary-android-core/src/androidTest
AndroidManifest.xml
leakcanary/leakcanary-android-core/src/androidTest/java/leakcanary
AndroidExtensionsTest.kt
DatabaseMigrationTest.kt
DatabaseRule.kt
LeakActivityTest.kt
ManualInstallTest.kt
leakcanary/leakcanary-android-core/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-core/src/main/java/leakcanary
AndroidDebugHeapDumper.kt
BackgroundThreadHeapAnalyzer.kt
EventListener.kt
HeapDumper.kt
LazyForwardingEventListener.kt
LeakCanary.kt
LogcatEventListener.kt
NotificationEventListener.kt
RemoteWorkManagerHeapAnalyzer.kt
ToastEventListener.kt
TvEventListener.kt
WorkManagerHeapAnalyzer.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal
AndroidDebugHeapAnalyzer.kt
DebuggerControl.kt
DisplayLeakAdapter.kt
DisplayLeakConnectorView.kt
HeapAnalyzerWorker.kt
HeapDumpControl.kt
HeapDumpTrigger.kt
InternalLeakCanary.kt
LeakCanaryFileProvider.kt
LeakCanarySingleThreadFactory.kt
LeakDirectoryProvider.kt
NotificationReceiver.kt
NotificationType.kt
Notifications.kt
OnRetainInstanceListener.kt
RemoteHeapAnalyzerWorker.kt
RequestPermissionActivity.kt
RowElementLayout.kt
SerializableIntent.kt
Serializables.kt
SquigglySpan.kt
VisibilityTracker.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/activity
LeakActivity.kt
LeakViews.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/activity/db
Cursors.kt
Db.kt
HeapAnalysisTable.kt
Io.kt
LeakTable.kt
LeakTraceTable.kt
LeaksDbHelper.kt
ScopedLeaksDb.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/activity/screen
AboutScreen.kt
HeapAnalysisFailureScreen.kt
HeapDumpRenderer.kt
HeapDumpScreen.kt
HeapDumpsScreen.kt
HprofExplorerScreen.kt
LeakScreen.kt
LeakTraceWrapper.kt
LeaksScreen.kt
RenderHeapDumpScreen.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/activity/ui
SimpleListAdapter.kt
TimeFormatter.kt
UiUtils.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/friendly
Friendly.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/navigation
BackstackFrame.kt
NavigatingActivity.kt
Screen.kt
Views.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/tv
TvOnRetainInstanceListener.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/utils
Size.kt
Tuples.kt
leakcanary/leakcanary-android-core/src/main/res/anim
leak_canary_enter_backward.xml
leak_canary_enter_forward.xml
leak_canary_exit_alpha.xml
leak_canary_exit_backward.xml
leak_canary_exit_forward.xml
leakcanary/leakcanary-android-core/src/main/res/color
leak_canary_bottom_menu.xml
leak_canary_count_text.xml
leakcanary/leakcanary-android-core/src/main/res/drawable
leak_canary_dump.xml
leak_canary_gray_fill.xml
leak_canary_icon.xml
leak_canary_icon_foreground.xml
leak_canary_icon_monochrome.xml
leak_canary_info.xml
leak_canary_info_rectangle.xml
leak_canary_leak.xml
leak_canary_list_selector.xml
leak_canary_secondary_button.xml
leak_canary_tab_background.xml
leak_canary_toast_background.xml
leak_canary_tv_icon.xml
leakcanary/leakcanary-android-core/src/main/res/drawable-v21
leak_canary_gray_fill.xml
leak_canary_list_selector.xml
leak_canary_primary_button.xml
leak_canary_secondary_button.xml
leak_canary_tab_background.xml
leak_canary_tab_selector_ripple.xml
leakcanary/leakcanary-android-core/src/main/res/mipmap-anydpi-v26
leak_canary_icon.xml
leakcanary/leakcanary-android-core/src/main/res/values
leak_canary_attrs.xml
leak_canary_bools.xml
leak_canary_colors.xml
leak_canary_dimens.xml
leak_canary_ids.xml
leak_canary_public.xml
leak_canary_themes.xml
leakcanary/leakcanary-android-core/src/main/res/values-v21
leak_canary_themes.xml
leakcanary/leakcanary-android-core/src/main/res/xml
leak_canary_file_paths.xml
leakcanary/leakcanary-android-core/src/test/java/leakcanary
LeakCanaryConfigTest.kt
leakcanary/leakcanary-android-core/src/test/java/leakcanary/internal/activity/screen
LeakTraceWrapperTest.kt
leakcanary/leakcanary-android-instrumentation/src/androidTest
AndroidManifest.xml
leakcanary/leakcanary-android-instrumentation/src/androidTest/java/leakcanary
AndroidDetectLeaksAssertTest.kt
Benchmark.kt
DetectLeaksAfterTestSuccessTest.kt
IndexingTest.kt
LifecycleLeaksTest.kt
LifecycleTestUtils.kt
ObjectInspectorTest.kt
ProfiledTest.kt
Profiler.kt
TestActivity.kt
TestDescriptionHolderTest.kt
TestUtils.kt
leakcanary/leakcanary-android-instrumentation/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-instrumentation/src/main/java/leakcanary
AndroidDetectLeaksAssert.kt
AndroidDetectLeaksInterceptor.kt
DetectLeaksAfterTestSuccess.kt
DetectLeaksAssert.kt
DetectLeaksInterceptor.kt
HeapAnalysisDecision.kt
HeapAnalysisReporter.kt
LeakAssertions.kt
TestDescriptionHolder.kt
leakcanary/leakcanary-android-instrumentation/src/main/java/leakcanary/internal
InstrumentationHeapAnalyzer.kt
InstrumentationHeapDumpFileProvider.kt
RetryingHeapAnalyzer.kt
leakcanary/leakcanary-android-instrumentation/src/main/java/leakcanary/internal/friendly
Friendly.kt
leakcanary/leakcanary-android-process/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-process/src/main/java/leakcanary
LeakCanaryProcess.kt
leakcanary/leakcanary-android-process/src/main/java/leakcanary/internal
RemoteLeakCanaryWorkerService.kt
leakcanary/leakcanary-android-release/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-release/src/main/java/leakcanary
BackgroundTrigger.kt
ConditionalInterceptor.kt
GoodAndroidVersionInterceptor.kt
HeapAnalysisConfig.kt
HeapAnalysisInterceptor.kt
HeapAnalysisJob.kt
JobContext.kt
MinimumDiskSpaceInterceptor.kt
MinimumElapsedSinceStartInterceptor.kt
MinimumMemoryInterceptor.kt
OncePerPeriodInterceptor.kt
ProcessInfo.kt
SaveResourceIdsInterceptor.kt
ScreenOffTrigger.kt
leakcanary/leakcanary-android-release/src/main/java/leakcanary/internal
BackgroundListener.kt
RealHeapAnalysisJob.kt
leakcanary/leakcanary-android-release/src/main/java/leakcanary/internal/friendly
Friendly.kt
leakcanary/leakcanary-android-startup/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-utils/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-utils/src/main/java/leakcanary
LogcatSharkLog.kt
leakcanary/leakcanary-android-utils/src/main/java/leakcanary/internal
Handlers.kt
Objects.kt
Timing.kt
leakcanary/leakcanary-app/src/main
AndroidManifest.xml
leakcanary/leakcanary-app/src/main/java/org/leakcanary
LeakCanaryApp.kt
MainActivity.kt
WhileSubscribedOrRetained.kt
leakcanary/leakcanary-app/src/main/java/org/leakcanary/data
DatabaseDispatchers.kt
DatabaseModule.kt
HeapRepository.kt
leakcanary/leakcanary-app/src/main/java/org/leakcanary/screens
BackStackViewModel.kt
ClientAppAnalysesScreen.kt
ClientAppAnalysisScreen.kt
ClientAppsScreen.kt
LeakScreen.kt
ScreenHost.kt
TreeMapScreen.kt
TreemapLayout.kt
leakcanary/leakcanary-app/src/main/java/org/leakcanary/service
LeakUiAppService.kt
leakcanary/leakcanary-app/src/main/java/org/leakcanary/ui/theme
Color.kt
Type.kt
leakcanary/leakcanary-app/src/main/java/org/leakcanary/util
CurrentActivityProvider.kt
Handlers.kt
LeakTraceWrapper.kt
Serializables.kt
Sharer.kt
TimeFormatter.kt
leakcanary/leakcanary-app/src/main/res/drawable
ic_launcher_background.xml
leakcanary/leakcanary-app/src/main/res/drawable-v24
ic_launcher_foreground.xml
leakcanary/leakcanary-app/src/main/res/mipmap-anydpi-v26
ic_launcher.xml
ic_launcher_round.xml
leakcanary/leakcanary-app/src/main/res/values
colors.xml
strings.xml
themes.xml
leakcanary/leakcanary-app/src/main/res/xml
backup_rules.xml
data_extraction_rules.xml
leakcanary/leakcanary-app-aidl/src/main
AndroidManifest.xml
leakcanary/leakcanary-app-aidl/src/main/java/org/leakcanary/internal
ParcelableHeapAnalysis.kt
leakcanary/leakcanary-app-service/src/main
AndroidManifest.xml
leakcanary/leakcanary-app-service/src/main/java/org/leakcanary/internal
LeakUiAppClient.kt
leakcanary/leakcanary-deobfuscation-gradle-plugin/src/main/java/com/squareup/leakcanary/deobfuscation
CopyObfuscationMappingFileTask.kt
LeakCanaryDeobfuscationExtension.kt
leakcanary/leakcanary-deobfuscation-gradle-plugin/src/test/java/com/squareup/leakcanary/deobfuscation
CopyObfuscationMappingFileTaskTest.kt
LeakCanaryLeakDeobfuscationPluginTest.kt
leakcanary/leakcanary-deobfuscation-gradle-plugin/src/test/test-project/src/main
AndroidManifest.xml
leakcanary/leakcanary-deobfuscation-gradle-plugin/src/test/test-project/src/main/java/com/leakcanary/test
TestProjectClass.java
object-watcher/object-watcher/src/main/java/leakcanary
Clock.kt
KeyedWeakReference.kt
ObjectWatcher.kt
OnObjectRetainedListener.kt
ReachabilityWatcher.kt
object-watcher/object-watcher/src/test/java/leakcanary
ObjectWatcherTest.kt
object-watcher/object-watcher-android/src/main
AndroidManifest.xml
object-watcher/object-watcher-android/src/main/java/leakcanary/internal
MainProcessAppWatcherInstaller.kt
object-watcher/object-watcher-android/src/main/res/values
leak_canary_public.xml
watcher_bools.xml
object-watcher/object-watcher-android-androidx/src/main
AndroidManifest.xml
object-watcher/object-watcher-android-androidx/src/main/java/leakcanary/internal
AndroidXFragmentDestroyWatcher.kt
ViewModelClearedWatcher.kt
object-watcher/object-watcher-android-core/src/main
AndroidManifest.xml
object-watcher/object-watcher-android-core/src/main/java/leakcanary
ActivityWatcher.kt
AppWatcher.kt
FragmentAndViewModelWatcher.kt
InstallableWatcher.kt
RootViewWatcher.kt
ServiceWatcher.kt
object-watcher/object-watcher-android-core/src/main/java/leakcanary/internal
AndroidOFragmentDestroyWatcher.kt
Applications.kt
LeakCanaryDelegate.kt
object-watcher/object-watcher-android-core/src/main/java/leakcanary/internal/friendly
Friendly.kt
object-watcher/object-watcher-android-core/src/main/res/values
leak_canary_public.xml
watcher_bools.xml
object-watcher/object-watcher-android-core/src/test/java/leakcanary
AppWatcherTest.kt
object-watcher/object-watcher-android-startup/src/main
AndroidManifest.xml
object-watcher/object-watcher-android-startup/src/main/java/leakcanary
AppWatcherStartupInitializer.kt
plumber-android/src/main
AndroidManifest.xml
plumber-android/src/main/java/leakcanary/internal
PlumberInstaller.kt
plumber-android/src/main/res/values
plumber_bools.xml
plumber_public.xml
plumber-android-core/src/main
AndroidManifest.xml
plumber-android-core/src/main/java/leakcanary
AndroidLeakFixes.kt
FixedWindowCallback.java
ViewLocationHolderLeakFix.kt
plumber-android-core/src/main/java/leakcanary/internal
FragmentExtensions.kt
ReferenceCleaner.kt
plumber-android-core/src/main/java/leakcanary/internal/friendly
Friendly.kt
plumber-android-startup/src/main
AndroidManifest.xml
plumber-android-startup/src/main/java/leakcanary
PlumberStartupInitializer.kt
samples/leakcanary-android-sample/src/androidTest
AndroidManifest.xml
samples/leakcanary-android-sample/src/androidTest/java/leakcanary/tests
TuPeuxPasTest.kt
samples/leakcanary-android-sample/src/debug
AndroidManifest.xml
samples/leakcanary-android-sample/src/debug/java/com/example/leakcanary
DebugExampleApplication.kt
samples/leakcanary-android-sample/src/main
AndroidManifest.xml
samples/leakcanary-android-sample/src/main/java/com/example/leakcanary
ExampleApplication.kt
LeakingService.kt
LeakingSingleton.kt
LeakingThread.kt
MainActivity.kt
samples/leakcanary-android-sample/src/main/res/values
strings.xml
samples/leakcanary-android-sample/src/release
AndroidManifest.xml
samples/leakcanary-android-sample/src/release/java/com/example/leakcanary
ReleaseExampleApplication.kt
shark/shark/src/main/java/shark
ActualMatchingReferenceReaderFactory.kt
AndroidNativeSizeMapper.kt
AndroidReferenceReaderFactory.kt
AndroidReferenceReaders.kt
ApacheHarmonyInstanceRefReaders.kt
AppSingletonInspector.kt
ChainingInstanceReferenceReader.kt
ClassReferenceReader.kt
DelegatingObjectReferenceReader.kt
DominatorTree.kt
Dominators.kt
FilteringLeakingObjectFinder.kt
GcRootProvider.kt
GcRootReference.kt
HeapAnalysis.kt
HeapAnalysisException.kt
HeapAnalyzer.kt
JavaLocalReferenceReader.kt
KeyedWeakReferenceFinder.kt
LeakNodeStatus.kt
LeakTrace.kt
LeakTraceObject.kt
LeakTraceReference.kt
LeakTracer.kt
LeakingObjectFinder.kt
MetadataExtractor.kt
ObjectArrayReferenceReader.kt
ObjectDominators.kt
ObjectInspectors.kt
ObjectReporter.kt
OnAnalysisProgressListener.kt
OpenJdkInstanceRefReaders.kt
PrioritizingShortestPathFinder.kt
RealLeakTracerFactory.kt
ReferenceLocationType.kt
ReferenceMatcher.kt
ReferencePattern.kt
ShortestPathFinder.kt
VirtualizingMatchingReferenceReaderFactory.kt
shark/shark/src/main/java/shark/internal
ByteStringCompat.java
FieldIdReader.kt
InternalSharedExpanderHelpers.kt
InternalSharkCollectionsHelper.kt
JavaFrames.kt
KeyedWeakReferenceMirror.kt
ReferencePathNode.kt
ShallowSizeCalculator.kt
Strings.kt
ThreadObjects.kt
shark/shark/src/test/java/shark
HeapAnalysisStringRenderingTest.kt
HeapAnalyzerTest.kt
HeapDumps.kt
HprofHeapGraphTest.kt
LabelerTest.kt
LeakStatusTest.kt
MetadataExtractorTest.kt
ReferenceMatcherTest.kt
RetainedSizeTest.kt
UnreachableObjectRenderingTest.kt
shark/shark/src/test/java/shark/internal
AndroidReferenceReadersHprofTest.kt
ShallowSizeCalculatorTest.kt
shark/shark-android/src/main/java/shark
AndroidBuildMirror.kt
AndroidExtensions.kt
AndroidMetadataExtractor.kt
AndroidObjectInspectors.kt
AndroidReferenceMatchers.kt
AndroidResourceIdNames.kt
AndroidServices.kt
shark/shark-android/src/main/java/shark/internal/friendly
Friendly.kt
shark/shark-android/src/test/java/shark
AndroidResourceIdNamesTest.kt
HprofIOPerfTest.kt
HprofRetainedHeapPerfTest.kt
LegacyHprofTest.kt
LruCacheTuning.kt
StringPathFinderOptimTest.kt
shark/shark-cli/src/main/java/shark
AnalyzeCommand.kt
DumpProcessCommand.kt
SharkCliCommand.kt
StripHprofCommand.kt
shark/shark-graph/src/main/java/shark
CloseableHeapGraph.kt
GraphContext.kt
HeapGraph.kt
HeapObject.kt
HeapValue.kt
HprofHeapGraph.kt
shark/shark-graph/src/main/java/shark/internal
ByteSubArray.kt
ClassFieldsReader.kt
FieldValuesReader.kt
HprofInMemoryIndex.kt
IndexedObject.kt
SortedBytesMap.kt
UnsortedByteEntries.kt
shark/shark-graph/src/main/java/shark/internal/aosp
ByteArrayComparator.kt
ByteArrayTimSort.kt
shark/shark-graph/src/main/java/shark/internal/hppc
HPPC.kt
LongObjectScatterMap.kt
LongScatterSet.kt
Tuples.kt
shark/shark-graph/src/test/java/shark
ByteArrayTimSortTest.kt
HprofDeobfuscatorTest.kt
HprofHeapGraphTest.kt
HprofWriterTest.kt
JvmHprofParsingTest.kt
LongScatterSetTest.kt
SortedBytesMapTest.kt
shark/shark-hprof/src/main/java/shark
ByteArraySourceProvider.kt
ConstantMemoryMetricsDualSourceProvider.kt
DualSourceProvider.kt
FileSourceProvider.kt
GcRoot.kt
HprofDeobfuscator.kt
HprofRecord.kt
HprofRecordReader.kt
HprofRecordTag.kt
HprofVersion.kt
HprofWriter.kt
PrimitiveType.kt
ProguardMappingReader.kt
RandomAccessSourceProvider.kt
StreamingHprofReader.kt
StreamingRecordReaderAdapter.kt
StreamingSourceProvider.kt
ThrowingCancelableFileSourceProvider.kt
ValueHolder.kt
shark/shark-hprof/src/test/java/shark
HprofReaderPrimitiveArrayTest.kt
ProguardMappingTest.kt
shark/shark-hprof-test/src/main/kotlin/shark
HprofWriterHelper.kt
ProguardMappingHelper.kt
shark/shark-log/src/main/java/shark
SharkLog.kt
shark/shark-log/src/test/java/shark
SharkLogTest.kt
shark/shark-test/src/main/kotlin/shark
HeapDumpRule.kt
JvmTestHeapDumper.kt
Reference
General
README
Tech Stack
.
LICENSE.txt
mkdocs.yml
shark-cli.sh
config
detekt-config.yml
docs
requirements.txt
docs/theme
main.html
leakcanary/leakcanary-android/src/androidTest/java/leakcanary
LeakActivityTest.kt
leakcanary/leakcanary-android/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-core
lint.xml
leakcanary/leakcanary-android-core/src/androidTest
AndroidManifest.xml
leakcanary/leakcanary-android-core/src/androidTest/java/leakcanary
AndroidExtensionsTest.kt
DatabaseMigrationTest.kt
DatabaseRule.kt
LeakActivityTest.kt
ManualInstallTest.kt
leakcanary/leakcanary-android-core/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-core/src/main/java/leakcanary
AndroidDebugHeapDumper.kt
BackgroundThreadHeapAnalyzer.kt
EventListener.kt
HeapDumper.kt
LazyForwardingEventListener.kt
LeakCanary.kt
LogcatEventListener.kt
NotificationEventListener.kt
RemoteWorkManagerHeapAnalyzer.kt
ToastEventListener.kt
TvEventListener.kt
WorkManagerHeapAnalyzer.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal
AndroidDebugHeapAnalyzer.kt
DebuggerControl.kt
DisplayLeakAdapter.kt
DisplayLeakConnectorView.kt
HeapAnalyzerWorker.kt
HeapDumpControl.kt
HeapDumpTrigger.kt
InternalLeakCanary.kt
LeakCanaryFileProvider.kt
LeakCanarySingleThreadFactory.kt
LeakDirectoryProvider.kt
NotificationReceiver.kt
NotificationType.kt
Notifications.kt
OnRetainInstanceListener.kt
RemoteHeapAnalyzerWorker.kt
RequestPermissionActivity.kt
RowElementLayout.kt
SerializableIntent.kt
Serializables.kt
SquigglySpan.kt
VisibilityTracker.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/activity
LeakActivity.kt
LeakViews.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/activity/db
Cursors.kt
Db.kt
HeapAnalysisTable.kt
Io.kt
LeakTable.kt
LeakTraceTable.kt
LeaksDbHelper.kt
ScopedLeaksDb.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/activity/screen
AboutScreen.kt
HeapAnalysisFailureScreen.kt
HeapDumpRenderer.kt
HeapDumpScreen.kt
HeapDumpsScreen.kt
HprofExplorerScreen.kt
LeakScreen.kt
LeakTraceWrapper.kt
LeaksScreen.kt
RenderHeapDumpScreen.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/activity/ui
SimpleListAdapter.kt
TimeFormatter.kt
UiUtils.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/friendly
Friendly.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/navigation
BackstackFrame.kt
NavigatingActivity.kt
Screen.kt
Views.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/tv
TvOnRetainInstanceListener.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/utils
Size.kt
Tuples.kt
leakcanary/leakcanary-android-core/src/main/res/anim
leak_canary_enter_backward.xml
leak_canary_enter_forward.xml
leak_canary_exit_alpha.xml
leak_canary_exit_backward.xml
leak_canary_exit_forward.xml
leakcanary/leakcanary-android-core/src/main/res/color
leak_canary_bottom_menu.xml
leak_canary_count_text.xml
leakcanary/leakcanary-android-core/src/main/res/drawable
leak_canary_dump.xml
leak_canary_gray_fill.xml
leak_canary_icon.xml
leak_canary_icon_foreground.xml
leak_canary_icon_monochrome.xml
leak_canary_info.xml
leak_canary_info_rectangle.xml
leak_canary_leak.xml
leak_canary_list_selector.xml
leak_canary_secondary_button.xml
leak_canary_tab_background.xml
leak_canary_toast_background.xml
leak_canary_tv_icon.xml
leakcanary/leakcanary-android-core/src/main/res/drawable-v21
leak_canary_gray_fill.xml
leak_canary_list_selector.xml
leak_canary_primary_button.xml
leak_canary_secondary_button.xml
leak_canary_tab_background.xml
leak_canary_tab_selector_ripple.xml
leakcanary/leakcanary-android-core/src/main/res/mipmap-anydpi-v26
leak_canary_icon.xml
leakcanary/leakcanary-android-core/src/main/res/values
leak_canary_attrs.xml
leak_canary_bools.xml
leak_canary_colors.xml
leak_canary_dimens.xml
leak_canary_ids.xml
leak_canary_public.xml
leak_canary_themes.xml
leakcanary/leakcanary-android-core/src/main/res/values-v21
leak_canary_themes.xml
leakcanary/leakcanary-android-core/src/main/res/xml
leak_canary_file_paths.xml
leakcanary/leakcanary-android-core/src/test/java/leakcanary
LeakCanaryConfigTest.kt
leakcanary/leakcanary-android-core/src/test/java/leakcanary/internal/activity/screen
LeakTraceWrapperTest.kt
leakcanary/leakcanary-android-instrumentation/src/androidTest
AndroidManifest.xml
leakcanary/leakcanary-android-instrumentation/src/androidTest/java/leakcanary
AndroidDetectLeaksAssertTest.kt
Benchmark.kt
DetectLeaksAfterTestSuccessTest.kt
IndexingTest.kt
LifecycleLeaksTest.kt
LifecycleTestUtils.kt
ObjectInspectorTest.kt
ProfiledTest.kt
Profiler.kt
TestActivity.kt
TestDescriptionHolderTest.kt
TestUtils.kt
leakcanary/leakcanary-android-instrumentation/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-instrumentation/src/main/java/leakcanary
AndroidDetectLeaksAssert.kt
AndroidDetectLeaksInterceptor.kt
DetectLeaksAfterTestSuccess.kt
DetectLeaksAssert.kt
DetectLeaksInterceptor.kt
HeapAnalysisDecision.kt
HeapAnalysisReporter.kt
LeakAssertions.kt
TestDescriptionHolder.kt
leakcanary/leakcanary-android-instrumentation/src/main/java/leakcanary/internal
InstrumentationHeapAnalyzer.kt
InstrumentationHeapDumpFileProvider.kt
RetryingHeapAnalyzer.kt
leakcanary/leakcanary-android-instrumentation/src/main/java/leakcanary/internal/friendly
Friendly.kt
leakcanary/leakcanary-android-process/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-process/src/main/java/leakcanary
LeakCanaryProcess.kt
leakcanary/leakcanary-android-process/src/main/java/leakcanary/internal
RemoteLeakCanaryWorkerService.kt
leakcanary/leakcanary-android-release/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-release/src/main/java/leakcanary
BackgroundTrigger.kt
ConditionalInterceptor.kt
GoodAndroidVersionInterceptor.kt
HeapAnalysisConfig.kt
HeapAnalysisInterceptor.kt
HeapAnalysisJob.kt
JobContext.kt
MinimumDiskSpaceInterceptor.kt
MinimumElapsedSinceStartInterceptor.kt
MinimumMemoryInterceptor.kt
OncePerPeriodInterceptor.kt
ProcessInfo.kt
SaveResourceIdsInterceptor.kt
ScreenOffTrigger.kt
leakcanary/leakcanary-android-release/src/main/java/leakcanary/internal
BackgroundListener.kt
RealHeapAnalysisJob.kt
leakcanary/leakcanary-android-release/src/main/java/leakcanary/internal/friendly
Friendly.kt
leakcanary/leakcanary-android-startup/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-utils/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-utils/src/main/java/leakcanary
LogcatSharkLog.kt
leakcanary/leakcanary-android-utils/src/main/java/leakcanary/internal
Handlers.kt
Objects.kt
Timing.kt
leakcanary/leakcanary-app/src/main
AndroidManifest.xml
leakcanary/leakcanary-app/src/main/java/org/leakcanary
LeakCanaryApp.kt
MainActivity.kt
WhileSubscribedOrRetained.kt
leakcanary/leakcanary-app/src/main/java/org/leakcanary/data
DatabaseDispatchers.kt
DatabaseModule.kt
HeapRepository.kt
leakcanary/leakcanary-app/src/main/java/org/leakcanary/screens
BackStackViewModel.kt
ClientAppAnalysesScreen.kt
ClientAppAnalysisScreen.kt
ClientAppsScreen.kt
LeakScreen.kt
ScreenHost.kt
TreeMapScreen.kt
TreemapLayout.kt
leakcanary/leakcanary-app/src/main/java/org/leakcanary/service
LeakUiAppService.kt
leakcanary/leakcanary-app/src/main/java/org/leakcanary/ui/theme
Color.kt
Type.kt
leakcanary/leakcanary-app/src/main/java/org/leakcanary/util
CurrentActivityProvider.kt
Handlers.kt
LeakTraceWrapper.kt
Serializables.kt
Sharer.kt
TimeFormatter.kt
leakcanary/leakcanary-app/src/main/res/drawable
ic_launcher_background.xml
leakcanary/leakcanary-app/src/main/res/drawable-v24
ic_launcher_foreground.xml
leakcanary/leakcanary-app/src/main/res/mipmap-anydpi-v26
ic_launcher.xml
ic_launcher_round.xml
leakcanary/leakcanary-app/src/main/res/values
colors.xml
strings.xml
themes.xml
leakcanary/leakcanary-app/src/main/res/xml
backup_rules.xml
data_extraction_rules.xml
leakcanary/leakcanary-app-aidl/src/main
AndroidManifest.xml
leakcanary/leakcanary-app-aidl/src/main/java/org/leakcanary/internal
ParcelableHeapAnalysis.kt
leakcanary/leakcanary-app-service/src/main
AndroidManifest.xml
leakcanary/leakcanary-app-service/src/main/java/org/leakcanary/internal
LeakUiAppClient.kt
leakcanary/leakcanary-deobfuscation-gradle-plugin/src/main/java/com/squareup/leakcanary/deobfuscation
CopyObfuscationMappingFileTask.kt
LeakCanaryDeobfuscationExtension.kt
leakcanary/leakcanary-deobfuscation-gradle-plugin/src/test/java/com/squareup/leakcanary/deobfuscation
CopyObfuscationMappingFileTaskTest.kt
LeakCanaryLeakDeobfuscationPluginTest.kt
leakcanary/leakcanary-deobfuscation-gradle-plugin/src/test/test-project/src/main
AndroidManifest.xml
leakcanary/leakcanary-deobfuscation-gradle-plugin/src/test/test-project/src/main/java/com/leakcanary/test
TestProjectClass.java
object-watcher/object-watcher/src/main/java/leakcanary
Clock.kt
KeyedWeakReference.kt
ObjectWatcher.kt
OnObjectRetainedListener.kt
ReachabilityWatcher.kt
object-watcher/object-watcher/src/test/java/leakcanary
ObjectWatcherTest.kt
object-watcher/object-watcher-android/src/main
AndroidManifest.xml
object-watcher/object-watcher-android/src/main/java/leakcanary/internal
MainProcessAppWatcherInstaller.kt
object-watcher/object-watcher-android/src/main/res/values
leak_canary_public.xml
watcher_bools.xml
object-watcher/object-watcher-android-androidx/src/main
AndroidManifest.xml
object-watcher/object-watcher-android-androidx/src/main/java/leakcanary/internal
AndroidXFragmentDestroyWatcher.kt
ViewModelClearedWatcher.kt
object-watcher/object-watcher-android-core/src/main
AndroidManifest.xml
object-watcher/object-watcher-android-core/src/main/java/leakcanary
ActivityWatcher.kt
AppWatcher.kt
FragmentAndViewModelWatcher.kt
InstallableWatcher.kt
RootViewWatcher.kt
ServiceWatcher.kt
object-watcher/object-watcher-android-core/src/main/java/leakcanary/internal
AndroidOFragmentDestroyWatcher.kt
Applications.kt
LeakCanaryDelegate.kt
object-watcher/object-watcher-android-core/src/main/java/leakcanary/internal/friendly
Friendly.kt
object-watcher/object-watcher-android-core/src/main/res/values
leak_canary_public.xml
watcher_bools.xml
object-watcher/object-watcher-android-core/src/test/java/leakcanary
AppWatcherTest.kt
object-watcher/object-watcher-android-startup/src/main
AndroidManifest.xml
object-watcher/object-watcher-android-startup/src/main/java/leakcanary
AppWatcherStartupInitializer.kt
plumber-android/src/main
AndroidManifest.xml
plumber-android/src/main/java/leakcanary/internal
PlumberInstaller.kt
plumber-android/src/main/res/values
plumber_bools.xml
plumber_public.xml
plumber-android-core/src/main
AndroidManifest.xml
plumber-android-core/src/main/java/leakcanary
AndroidLeakFixes.kt
FixedWindowCallback.java
ViewLocationHolderLeakFix.kt
plumber-android-core/src/main/java/leakcanary/internal
FragmentExtensions.kt
ReferenceCleaner.kt
plumber-android-core/src/main/java/leakcanary/internal/friendly
Friendly.kt
plumber-android-startup/src/main
AndroidManifest.xml
plumber-android-startup/src/main/java/leakcanary
PlumberStartupInitializer.kt
samples/leakcanary-android-sample/src/androidTest
AndroidManifest.xml
samples/leakcanary-android-sample/src/androidTest/java/leakcanary/tests
TuPeuxPasTest.kt
samples/leakcanary-android-sample/src/debug
AndroidManifest.xml
samples/leakcanary-android-sample/src/debug/java/com/example/leakcanary
DebugExampleApplication.kt
samples/leakcanary-android-sample/src/main
AndroidManifest.xml
samples/leakcanary-android-sample/src/main/java/com/example/leakcanary
ExampleApplication.kt
LeakingService.kt
LeakingSingleton.kt
LeakingThread.kt
MainActivity.kt
samples/leakcanary-android-sample/src/main/res/values
strings.xml
samples/leakcanary-android-sample/src/release
AndroidManifest.xml
samples/leakcanary-android-sample/src/release/java/com/example/leakcanary
ReleaseExampleApplication.kt
shark/shark/src/main/java/shark
ActualMatchingReferenceReaderFactory.kt
AndroidNativeSizeMapper.kt
AndroidReferenceReaderFactory.kt
AndroidReferenceReaders.kt
ApacheHarmonyInstanceRefReaders.kt
AppSingletonInspector.kt
ChainingInstanceReferenceReader.kt
ClassReferenceReader.kt
DelegatingObjectReferenceReader.kt
DominatorTree.kt
Dominators.kt
FilteringLeakingObjectFinder.kt
GcRootProvider.kt
GcRootReference.kt
HeapAnalysis.kt
HeapAnalysisException.kt
HeapAnalyzer.kt
JavaLocalReferenceReader.kt
KeyedWeakReferenceFinder.kt
LeakNodeStatus.kt
LeakTrace.kt
LeakTraceObject.kt
LeakTraceReference.kt
LeakTracer.kt
LeakingObjectFinder.kt
MetadataExtractor.kt
ObjectArrayReferenceReader.kt
ObjectDominators.kt
ObjectInspectors.kt
ObjectReporter.kt
OnAnalysisProgressListener.kt
OpenJdkInstanceRefReaders.kt
PrioritizingShortestPathFinder.kt
RealLeakTracerFactory.kt
ReferenceLocationType.kt
ReferenceMatcher.kt
ReferencePattern.kt
ShortestPathFinder.kt
VirtualizingMatchingReferenceReaderFactory.kt
shark/shark/src/main/java/shark/internal
ByteStringCompat.java
FieldIdReader.kt
InternalSharedExpanderHelpers.kt
InternalSharkCollectionsHelper.kt
JavaFrames.kt
KeyedWeakReferenceMirror.kt
ReferencePathNode.kt
ShallowSizeCalculator.kt
Strings.kt
ThreadObjects.kt
shark/shark/src/test/java/shark
HeapAnalysisStringRenderingTest.kt
HeapAnalyzerTest.kt
HeapDumps.kt
HprofHeapGraphTest.kt
LabelerTest.kt
LeakStatusTest.kt
MetadataExtractorTest.kt
ReferenceMatcherTest.kt
RetainedSizeTest.kt
UnreachableObjectRenderingTest.kt
shark/shark/src/test/java/shark/internal
AndroidReferenceReadersHprofTest.kt
ShallowSizeCalculatorTest.kt
shark/shark-android/src/main/java/shark
AndroidBuildMirror.kt
AndroidExtensions.kt
AndroidMetadataExtractor.kt
AndroidObjectInspectors.kt
AndroidReferenceMatchers.kt
AndroidResourceIdNames.kt
AndroidServices.kt
shark/shark-android/src/main/java/shark/internal/friendly
Friendly.kt
shark/shark-android/src/test/java/shark
AndroidResourceIdNamesTest.kt
HprofIOPerfTest.kt
HprofRetainedHeapPerfTest.kt
LegacyHprofTest.kt
LruCacheTuning.kt
StringPathFinderOptimTest.kt
shark/shark-cli/src/main/java/shark
AnalyzeCommand.kt
DumpProcessCommand.kt
SharkCliCommand.kt
StripHprofCommand.kt
shark/shark-graph/src/main/java/shark
CloseableHeapGraph.kt
GraphContext.kt
HeapGraph.kt
HeapObject.kt
HeapValue.kt
HprofHeapGraph.kt
shark/shark-graph/src/main/java/shark/internal
ByteSubArray.kt
ClassFieldsReader.kt
FieldValuesReader.kt
HprofInMemoryIndex.kt
IndexedObject.kt
SortedBytesMap.kt
UnsortedByteEntries.kt
shark/shark-graph/src/main/java/shark/internal/aosp
ByteArrayComparator.kt
ByteArrayTimSort.kt
shark/shark-graph/src/main/java/shark/internal/hppc
HPPC.kt
LongObjectScatterMap.kt
LongScatterSet.kt
Tuples.kt
shark/shark-graph/src/test/java/shark
ByteArrayTimSortTest.kt
HprofDeobfuscatorTest.kt
HprofHeapGraphTest.kt
HprofWriterTest.kt
JvmHprofParsingTest.kt
LongScatterSetTest.kt
SortedBytesMapTest.kt
shark/shark-hprof/src/main/java/shark
ByteArraySourceProvider.kt
ConstantMemoryMetricsDualSourceProvider.kt
DualSourceProvider.kt
FileSourceProvider.kt
GcRoot.kt
HprofDeobfuscator.kt
HprofRecord.kt
HprofRecordReader.kt
HprofRecordTag.kt
HprofVersion.kt
HprofWriter.kt
PrimitiveType.kt
ProguardMappingReader.kt
RandomAccessSourceProvider.kt
StreamingHprofReader.kt
StreamingRecordReaderAdapter.kt
StreamingSourceProvider.kt
ThrowingCancelableFileSourceProvider.kt
ValueHolder.kt
shark/shark-hprof/src/test/java/shark
HprofReaderPrimitiveArrayTest.kt
ProguardMappingTest.kt
shark/shark-hprof-test/src/main/kotlin/shark
HprofWriterHelper.kt
ProguardMappingHelper.kt
shark/shark-log/src/main/java/shark
SharkLog.kt
shark/shark-log/src/test/java/shark
SharkLogTest.kt
shark/shark-test/src/main/kotlin/shark
HeapDumpRule.kt
JvmTestHeapDumper.kt
General
README
Tech Stack
.
LICENSE.txt
mkdocs.yml
shark-cli.sh
config
detekt-config.yml
docs
requirements.txt
docs/theme
main.html
leakcanary/leakcanary-android/src/androidTest/java/leakcanary
LeakActivityTest.kt
leakcanary/leakcanary-android/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-core
lint.xml
leakcanary/leakcanary-android-core/src/androidTest
AndroidManifest.xml
leakcanary/leakcanary-android-core/src/androidTest/java/leakcanary
AndroidExtensionsTest.kt
DatabaseMigrationTest.kt
DatabaseRule.kt
LeakActivityTest.kt
ManualInstallTest.kt
leakcanary/leakcanary-android-core/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-core/src/main/java/leakcanary
AndroidDebugHeapDumper.kt
BackgroundThreadHeapAnalyzer.kt
EventListener.kt
HeapDumper.kt
LazyForwardingEventListener.kt
LeakCanary.kt
LogcatEventListener.kt
NotificationEventListener.kt
RemoteWorkManagerHeapAnalyzer.kt
ToastEventListener.kt
TvEventListener.kt
WorkManagerHeapAnalyzer.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal
AndroidDebugHeapAnalyzer.kt
DebuggerControl.kt
DisplayLeakAdapter.kt
DisplayLeakConnectorView.kt
HeapAnalyzerWorker.kt
HeapDumpControl.kt
HeapDumpTrigger.kt
InternalLeakCanary.kt
LeakCanaryFileProvider.kt
LeakCanarySingleThreadFactory.kt
LeakDirectoryProvider.kt
NotificationReceiver.kt
NotificationType.kt
Notifications.kt
OnRetainInstanceListener.kt
RemoteHeapAnalyzerWorker.kt
RequestPermissionActivity.kt
RowElementLayout.kt
SerializableIntent.kt
Serializables.kt
SquigglySpan.kt
VisibilityTracker.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/activity
LeakActivity.kt
LeakViews.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/activity/db
Cursors.kt
Db.kt
HeapAnalysisTable.kt
Io.kt
LeakTable.kt
LeakTraceTable.kt
LeaksDbHelper.kt
ScopedLeaksDb.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/activity/screen
AboutScreen.kt
HeapAnalysisFailureScreen.kt
HeapDumpRenderer.kt
HeapDumpScreen.kt
HeapDumpsScreen.kt
HprofExplorerScreen.kt
LeakScreen.kt
LeakTraceWrapper.kt
LeaksScreen.kt
RenderHeapDumpScreen.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/activity/ui
SimpleListAdapter.kt
TimeFormatter.kt
UiUtils.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/friendly
Friendly.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/navigation
BackstackFrame.kt
NavigatingActivity.kt
Screen.kt
Views.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/tv
TvOnRetainInstanceListener.kt
leakcanary/leakcanary-android-core/src/main/java/leakcanary/internal/utils
Size.kt
Tuples.kt
leakcanary/leakcanary-android-core/src/main/res/anim
leak_canary_enter_backward.xml
leak_canary_enter_forward.xml
leak_canary_exit_alpha.xml
leak_canary_exit_backward.xml
leak_canary_exit_forward.xml
leakcanary/leakcanary-android-core/src/main/res/color
leak_canary_bottom_menu.xml
leak_canary_count_text.xml
leakcanary/leakcanary-android-core/src/main/res/drawable
leak_canary_dump.xml
leak_canary_gray_fill.xml
leak_canary_icon.xml
leak_canary_icon_foreground.xml
leak_canary_icon_monochrome.xml
leak_canary_info.xml
leak_canary_info_rectangle.xml
leak_canary_leak.xml
leak_canary_list_selector.xml
leak_canary_secondary_button.xml
leak_canary_tab_background.xml
leak_canary_toast_background.xml
leak_canary_tv_icon.xml
leakcanary/leakcanary-android-core/src/main/res/drawable-v21
leak_canary_gray_fill.xml
leak_canary_list_selector.xml
leak_canary_primary_button.xml
leak_canary_secondary_button.xml
leak_canary_tab_background.xml
leak_canary_tab_selector_ripple.xml
leakcanary/leakcanary-android-core/src/main/res/mipmap-anydpi-v26
leak_canary_icon.xml
leakcanary/leakcanary-android-core/src/main/res/values
leak_canary_attrs.xml
leak_canary_bools.xml
leak_canary_colors.xml
leak_canary_dimens.xml
leak_canary_ids.xml
leak_canary_public.xml
leak_canary_themes.xml
leakcanary/leakcanary-android-core/src/main/res/values-v21
leak_canary_themes.xml
leakcanary/leakcanary-android-core/src/main/res/xml
leak_canary_file_paths.xml
leakcanary/leakcanary-android-core/src/test/java/leakcanary
LeakCanaryConfigTest.kt
leakcanary/leakcanary-android-core/src/test/java/leakcanary/internal/activity/screen
LeakTraceWrapperTest.kt
leakcanary/leakcanary-android-instrumentation/src/androidTest
AndroidManifest.xml
leakcanary/leakcanary-android-instrumentation/src/androidTest/java/leakcanary
AndroidDetectLeaksAssertTest.kt
Benchmark.kt
DetectLeaksAfterTestSuccessTest.kt
IndexingTest.kt
LifecycleLeaksTest.kt
LifecycleTestUtils.kt
ObjectInspectorTest.kt
ProfiledTest.kt
Profiler.kt
TestActivity.kt
TestDescriptionHolderTest.kt
TestUtils.kt
leakcanary/leakcanary-android-instrumentation/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-instrumentation/src/main/java/leakcanary
AndroidDetectLeaksAssert.kt
AndroidDetectLeaksInterceptor.kt
DetectLeaksAfterTestSuccess.kt
DetectLeaksAssert.kt
DetectLeaksInterceptor.kt
HeapAnalysisDecision.kt
HeapAnalysisReporter.kt
LeakAssertions.kt
TestDescriptionHolder.kt
leakcanary/leakcanary-android-instrumentation/src/main/java/leakcanary/internal
InstrumentationHeapAnalyzer.kt
InstrumentationHeapDumpFileProvider.kt
RetryingHeapAnalyzer.kt
leakcanary/leakcanary-android-instrumentation/src/main/java/leakcanary/internal/friendly
Friendly.kt
leakcanary/leakcanary-android-process/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-process/src/main/java/leakcanary
LeakCanaryProcess.kt
leakcanary/leakcanary-android-process/src/main/java/leakcanary/internal
RemoteLeakCanaryWorkerService.kt
leakcanary/leakcanary-android-release/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-release/src/main/java/leakcanary
BackgroundTrigger.kt
ConditionalInterceptor.kt
GoodAndroidVersionInterceptor.kt
HeapAnalysisConfig.kt
HeapAnalysisInterceptor.kt
HeapAnalysisJob.kt
JobContext.kt
MinimumDiskSpaceInterceptor.kt
MinimumElapsedSinceStartInterceptor.kt
MinimumMemoryInterceptor.kt
OncePerPeriodInterceptor.kt
ProcessInfo.kt
SaveResourceIdsInterceptor.kt
ScreenOffTrigger.kt
leakcanary/leakcanary-android-release/src/main/java/leakcanary/internal
BackgroundListener.kt
RealHeapAnalysisJob.kt
leakcanary/leakcanary-android-release/src/main/java/leakcanary/internal/friendly
Friendly.kt
leakcanary/leakcanary-android-startup/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-utils/src/main
AndroidManifest.xml
leakcanary/leakcanary-android-utils/src/main/java/leakcanary
LogcatSharkLog.kt
leakcanary/leakcanary-android-utils/src/main/java/leakcanary/internal
Handlers.kt
Objects.kt
Timing.kt
leakcanary/leakcanary-app/src/main
AndroidManifest.xml
leakcanary/leakcanary-app/src/main/java/org/leakcanary