diff --git a/docs/api/leakcanary-android-core/leakcanary/-no name provided-.md b/docs/api/leakcanary-android-core/leakcanary/-no name provided-.md new file mode 100644 index 0000000000..36c02fccd4 --- /dev/null +++ b/docs/api/leakcanary-android-core/leakcanary/-no name provided-.md @@ -0,0 +1,19 @@ +[leakcanary-android-core](../index.md) / [leakcanary](index.md) / [<no name provided>](./-no name provided-.md) + +# <no name provided> + +`fun (): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +Listener set in [LeakCanary.Config](-leak-canary/-config/index.md) and called by LeakCanary on a background thread when the +heap analysis is complete. + +This is a functional interface with which you can create a [OnHeapAnalyzedListener](-on-heap-analyzed-listener/index.md) from a lambda. + +Usage: + +``` kotlin +val listener = OnHeapAnalyzedListener { heapAnalysis -> + process(heapAnalysis) +} +``` + diff --git a/docs/api/leakcanary-android-release/alltypes/index.md b/docs/api/leakcanary-android-release/alltypes/index.md new file mode 100644 index 0000000000..0ab8041bda --- /dev/null +++ b/docs/api/leakcanary-android-release/alltypes/index.md @@ -0,0 +1,21 @@ + + +### All Types + +| Name | Summary | +|---|---| +| [leakcanary.BackgroundTrigger](../leakcanary/-background-trigger/index.md) | | +| [leakcanary.ConditionalInterceptor](../leakcanary/-conditional-interceptor/index.md) | An interceptor that runs only when [evaluateCondition](#) returns true. | +| [leakcanary.GoodAndroidVersionInterceptor](../leakcanary/-good-android-version-interceptor/index.md) | | +| [leakcanary.HeapAnalysisClient](../leakcanary/-heap-analysis-client/index.md) | | +| [leakcanary.HeapAnalysisConfig](../leakcanary/-heap-analysis-config/index.md) | | +| [leakcanary.HeapAnalysisInterceptor](../leakcanary/-heap-analysis-interceptor/index.md) | | +| [leakcanary.HeapAnalysisJob](../leakcanary/-heap-analysis-job/index.md) | A [HeapAnalysisJob](../leakcanary/-heap-analysis-job/index.md) represents a single prepared request to analyze the heap. It cannot be executed twice. | +| [leakcanary.JobContext](../leakcanary/-job-context/index.md) | In memory store that can be used to store objects in a given [HeapAnalysisJob](../leakcanary/-heap-analysis-job/index.md) instance. This is a simple [MutableMap](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html) of [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) to [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html), but with unsafe generics access. | +| [leakcanary.MinimumDiskSpaceInterceptor](../leakcanary/-minimum-disk-space-interceptor/index.md) | | +| [leakcanary.MinimumElapsedSinceStartInterceptor](../leakcanary/-minimum-elapsed-since-start-interceptor/index.md) | | +| [leakcanary.MinimumMemoryInterceptor](../leakcanary/-minimum-memory-interceptor/index.md) | | +| [leakcanary.OncePerPeriodInterceptor](../leakcanary/-once-per-period-interceptor/index.md) | Proceeds once per [period](#) (of time) and then cancels all follow up jobs until [period](#) has passed. | +| [leakcanary.ProcessInfo](../leakcanary/-process-info/index.md) | | +| [leakcanary.SaveResourceIdsInterceptor](../leakcanary/-save-resource-ids-interceptor/index.md) | Interceptor that saves the names of R.id.* entries and their associated int values to a static field that can then be read from the heap dump. | +| [leakcanary.ScreenOffTrigger](../leakcanary/-screen-off-trigger/index.md) | | diff --git a/docs/api/leakcanary-android-release/index.md b/docs/api/leakcanary-android-release/index.md new file mode 100644 index 0000000000..649f95068f --- /dev/null +++ b/docs/api/leakcanary-android-release/index.md @@ -0,0 +1,11 @@ +[leakcanary-android-release](./index.md) + +### Packages + +| Name | Summary | +|---|---| +| [leakcanary](leakcanary/index.md) | | + +### Index + +[All Types](alltypes/index.md) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-background-trigger/-init-.md b/docs/api/leakcanary-android-release/leakcanary/-background-trigger/-init-.md new file mode 100644 index 0000000000..2c60c3f6f1 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-background-trigger/-init-.md @@ -0,0 +1,7 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [BackgroundTrigger](index.md) / [<init>](./-init-.md) + +# <init> + +`BackgroundTrigger(application: Application, analysisClient: `[`HeapAnalysisClient`](../-heap-analysis-client/index.md)`, analysisExecutor: `[`Executor`](https://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html)`, processInfo: `[`ProcessInfo`](../-process-info/index.md)` = ProcessInfo.Real, analysisCallback: (`[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md)`) -> `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` = { result -> + SharkLog.d { "$result" } + })` \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-background-trigger/index.md b/docs/api/leakcanary-android-release/leakcanary/-background-trigger/index.md new file mode 100644 index 0000000000..046c488b4f --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-background-trigger/index.md @@ -0,0 +1,20 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [BackgroundTrigger](./index.md) + +# BackgroundTrigger + +`class BackgroundTrigger` + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `BackgroundTrigger(application: Application, analysisClient: `[`HeapAnalysisClient`](../-heap-analysis-client/index.md)`, analysisExecutor: `[`Executor`](https://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html)`, processInfo: `[`ProcessInfo`](../-process-info/index.md)` = ProcessInfo.Real, analysisCallback: (`[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md)`) -> `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` = { result -> + SharkLog.d { "$result" } + })` | + +### Functions + +| Name | Summary | +|---|---| +| [start](start.md) | `fun start(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | +| [stop](stop.md) | `fun stop(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | diff --git a/docs/api/leakcanary-android-release/leakcanary/-background-trigger/start.md b/docs/api/leakcanary-android-release/leakcanary/-background-trigger/start.md new file mode 100644 index 0000000000..994e3c6952 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-background-trigger/start.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [BackgroundTrigger](index.md) / [start](./start.md) + +# start + +`fun start(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-background-trigger/stop.md b/docs/api/leakcanary-android-release/leakcanary/-background-trigger/stop.md new file mode 100644 index 0000000000..0d47e83f8c --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-background-trigger/stop.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [BackgroundTrigger](index.md) / [stop](./stop.md) + +# stop + +`fun stop(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-conditional-interceptor/-init-.md b/docs/api/leakcanary-android-release/leakcanary/-conditional-interceptor/-init-.md new file mode 100644 index 0000000000..3a2bab6fe0 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-conditional-interceptor/-init-.md @@ -0,0 +1,8 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [ConditionalInterceptor](index.md) / [<init>](./-init-.md) + +# <init> + +`ConditionalInterceptor(delegate: `[`HeapAnalysisInterceptor`](../-heap-analysis-interceptor/index.md)`, evaluateCondition: (`[`HeapAnalysisJob`](../-heap-analysis-job/index.md)`) -> `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` + +An interceptor that runs only when [evaluateCondition](#) returns true. + diff --git a/docs/api/leakcanary-android-release/leakcanary/-conditional-interceptor/index.md b/docs/api/leakcanary-android-release/leakcanary/-conditional-interceptor/index.md new file mode 100644 index 0000000000..caf6b0248a --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-conditional-interceptor/index.md @@ -0,0 +1,19 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [ConditionalInterceptor](./index.md) + +# ConditionalInterceptor + +`class ConditionalInterceptor : `[`HeapAnalysisInterceptor`](../-heap-analysis-interceptor/index.md) + +An interceptor that runs only when [evaluateCondition](#) returns true. + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `ConditionalInterceptor(delegate: `[`HeapAnalysisInterceptor`](../-heap-analysis-interceptor/index.md)`, evaluateCondition: (`[`HeapAnalysisJob`](../-heap-analysis-job/index.md)`) -> `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)`
An interceptor that runs only when [evaluateCondition](#) returns true. | + +### Functions + +| Name | Summary | +|---|---| +| [intercept](intercept.md) | `fun intercept(chain: `[`HeapAnalysisInterceptor.Chain`](../-heap-analysis-interceptor/-chain/index.md)`): `[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md) | diff --git a/docs/api/leakcanary-android-release/leakcanary/-conditional-interceptor/intercept.md b/docs/api/leakcanary-android-release/leakcanary/-conditional-interceptor/intercept.md new file mode 100644 index 0000000000..2ba8494fa7 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-conditional-interceptor/intercept.md @@ -0,0 +1,8 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [ConditionalInterceptor](index.md) / [intercept](./intercept.md) + +# intercept + +`fun intercept(chain: `[`HeapAnalysisInterceptor.Chain`](../-heap-analysis-interceptor/-chain/index.md)`): `[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md) + +Overrides [HeapAnalysisInterceptor.intercept](../-heap-analysis-interceptor/intercept.md) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-good-android-version-interceptor/-init-.md b/docs/api/leakcanary-android-release/leakcanary/-good-android-version-interceptor/-init-.md new file mode 100644 index 0000000000..e33cf234bb --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-good-android-version-interceptor/-init-.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [GoodAndroidVersionInterceptor](index.md) / [<init>](./-init-.md) + +# <init> + +`GoodAndroidVersionInterceptor()` \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-good-android-version-interceptor/index.md b/docs/api/leakcanary-android-release/leakcanary/-good-android-version-interceptor/index.md new file mode 100644 index 0000000000..222670f74c --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-good-android-version-interceptor/index.md @@ -0,0 +1,17 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [GoodAndroidVersionInterceptor](./index.md) + +# GoodAndroidVersionInterceptor + +`class GoodAndroidVersionInterceptor : `[`HeapAnalysisInterceptor`](../-heap-analysis-interceptor/index.md) + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `GoodAndroidVersionInterceptor()` | + +### Functions + +| Name | Summary | +|---|---| +| [intercept](intercept.md) | `fun intercept(chain: `[`HeapAnalysisInterceptor.Chain`](../-heap-analysis-interceptor/-chain/index.md)`): `[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md) | diff --git a/docs/api/leakcanary-android-release/leakcanary/-good-android-version-interceptor/intercept.md b/docs/api/leakcanary-android-release/leakcanary/-good-android-version-interceptor/intercept.md new file mode 100644 index 0000000000..5e1a718d0a --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-good-android-version-interceptor/intercept.md @@ -0,0 +1,8 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [GoodAndroidVersionInterceptor](index.md) / [intercept](./intercept.md) + +# intercept + +`fun intercept(chain: `[`HeapAnalysisInterceptor.Chain`](../-heap-analysis-interceptor/-chain/index.md)`): `[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md) + +Overrides [HeapAnalysisInterceptor.intercept](../-heap-analysis-interceptor/intercept.md) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-client/-init-.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-client/-init-.md new file mode 100644 index 0000000000..3fea1f3253 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-client/-init-.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisClient](index.md) / [<init>](./-init-.md) + +# <init> + +`HeapAnalysisClient(heapDumpDirectoryProvider: () -> `[`File`](https://docs.oracle.com/javase/6/docs/api/java/io/File.html)`, config: `[`HeapAnalysisConfig`](../-heap-analysis-config/index.md)`, interceptors: `[`List`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)`<`[`HeapAnalysisInterceptor`](../-heap-analysis-interceptor/index.md)`>)` \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-client/default-interceptors.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-client/default-interceptors.md new file mode 100644 index 0000000000..b076433d9a --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-client/default-interceptors.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisClient](index.md) / [defaultInterceptors](./default-interceptors.md) + +# defaultInterceptors + +`fun defaultInterceptors(application: Application): `[`List`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)`<`[`HeapAnalysisInterceptor`](../-heap-analysis-interceptor/index.md)`>` \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-client/delete-heap-dump-files.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-client/delete-heap-dump-files.md new file mode 100644 index 0000000000..67910fab3e --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-client/delete-heap-dump-files.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisClient](index.md) / [deleteHeapDumpFiles](./delete-heap-dump-files.md) + +# deleteHeapDumpFiles + +`fun deleteHeapDumpFiles(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-client/index.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-client/index.md new file mode 100644 index 0000000000..d4637d6d13 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-client/index.md @@ -0,0 +1,24 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisClient](./index.md) + +# HeapAnalysisClient + +`class HeapAnalysisClient` + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `HeapAnalysisClient(heapDumpDirectoryProvider: () -> `[`File`](https://docs.oracle.com/javase/6/docs/api/java/io/File.html)`, config: `[`HeapAnalysisConfig`](../-heap-analysis-config/index.md)`, interceptors: `[`List`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)`<`[`HeapAnalysisInterceptor`](../-heap-analysis-interceptor/index.md)`>)` | + +### Functions + +| Name | Summary | +|---|---| +| [deleteHeapDumpFiles](delete-heap-dump-files.md) | `fun deleteHeapDumpFiles(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | +| [newJob](new-job.md) | `fun newJob(context: `[`JobContext`](../-job-context/index.md)` = JobContext()): `[`HeapAnalysisJob`](../-heap-analysis-job/index.md) | + +### Companion Object Functions + +| Name | Summary | +|---|---| +| [defaultInterceptors](default-interceptors.md) | `fun defaultInterceptors(application: Application): `[`List`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)`<`[`HeapAnalysisInterceptor`](../-heap-analysis-interceptor/index.md)`>` | diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-client/new-job.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-client/new-job.md new file mode 100644 index 0000000000..b93a2dcd2f --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-client/new-job.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisClient](index.md) / [newJob](./new-job.md) + +# newJob + +`fun newJob(context: `[`JobContext`](../-job-context/index.md)` = JobContext()): `[`HeapAnalysisJob`](../-heap-analysis-job/index.md) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/-init-.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/-init-.md new file mode 100644 index 0000000000..cfcfc64b6e --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/-init-.md @@ -0,0 +1,7 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisConfig](index.md) / [<init>](./-init-.md) + +# <init> + +`HeapAnalysisConfig(referenceMatchers: `[`List`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)` = AndroidReferenceMatchers.appDefaults, objectInspectors: `[`List`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)` = AndroidObjectInspectors.appDefaults, metadataExtractor: MetadataExtractor = AndroidMetadataExtractor, computeRetainedHeapSize: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = true, leakingObjectFinder: LeakingObjectFinder = FilteringLeakingObjectFinder( + AndroidObjectInspectors.appLeakingObjectFilters + ), stripHeapDump: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = false)` \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/compute-retained-heap-size.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/compute-retained-heap-size.md new file mode 100644 index 0000000000..5a3369b363 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/compute-retained-heap-size.md @@ -0,0 +1,16 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisConfig](index.md) / [computeRetainedHeapSize](./compute-retained-heap-size.md) + +# computeRetainedHeapSize + +`val computeRetainedHeapSize: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) + +Whether to compute the retained heap size, which is the total number of bytes in memory that +would be reclaimed if the detected leaks didn't happen. This includes native memory +associated to Java objects (e.g. Android bitmaps). + +Computing the retained heap size can slow down the analysis because it requires navigating +from GC roots through the entire object graph, whereas [shark.HeapAnalyzer](#) would otherwise +stop as soon as all leaking instances are found. + +Defaults to true. + diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/index.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/index.md new file mode 100644 index 0000000000..77cdf587ec --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/index.md @@ -0,0 +1,24 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisConfig](./index.md) + +# HeapAnalysisConfig + +`data class HeapAnalysisConfig` + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `HeapAnalysisConfig(referenceMatchers: `[`List`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)` = AndroidReferenceMatchers.appDefaults, objectInspectors: `[`List`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)` = AndroidObjectInspectors.appDefaults, metadataExtractor: MetadataExtractor = AndroidMetadataExtractor, computeRetainedHeapSize: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = true, leakingObjectFinder: LeakingObjectFinder = FilteringLeakingObjectFinder( + AndroidObjectInspectors.appLeakingObjectFilters + ), stripHeapDump: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = false)` | + +### Properties + +| Name | Summary | +|---|---| +| [computeRetainedHeapSize](compute-retained-heap-size.md) | `val computeRetainedHeapSize: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
Whether to compute the retained heap size, which is the total number of bytes in memory that would be reclaimed if the detected leaks didn't happen. This includes native memory associated to Java objects (e.g. Android bitmaps). | +| [leakingObjectFinder](leaking-object-finder.md) | `val leakingObjectFinder: LeakingObjectFinder`
Finds the objects that are leaking, for which LeakCanary will compute leak traces. | +| [metadataExtractor](metadata-extractor.md) | `val metadataExtractor: MetadataExtractor`
Extracts metadata from a hprof to be reported in [shark.HeapAnalysisSuccess.metadata](#). Called on a background thread during heap analysis. | +| [objectInspectors](object-inspectors.md) | `val objectInspectors: `[`List`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)``
List of [ObjectInspector](#) that provide LeakCanary with insights about objects found in the heap. You can create your own [ObjectInspector](#) implementations, and also add a [shark.AppSingletonInspector](#) instance created with the list of internal singletons. | +| [referenceMatchers](reference-matchers.md) | `val referenceMatchers: `[`List`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)``
Known patterns of references in the heap, added here either to ignore them ([IgnoredReferenceMatcher](#)) or to mark them as library leaks ([LibraryLeakReferenceMatcher](#)). | +| [stripHeapDump](strip-heap-dump.md) | `val stripHeapDump: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
Whether the first step after a heap dump should be to replace the content of all arrays with zeroes. This increases the overall processing time but limits the amount of time the heap dump exists on disk with potential PII. | diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/leaking-object-finder.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/leaking-object-finder.md new file mode 100644 index 0000000000..70c543b158 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/leaking-object-finder.md @@ -0,0 +1,11 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisConfig](index.md) / [leakingObjectFinder](./leaking-object-finder.md) + +# leakingObjectFinder + +`val leakingObjectFinder: LeakingObjectFinder` + +Finds the objects that are leaking, for which LeakCanary will compute leak traces. + +Defaults to a [FilteringLeakingObjectFinder](#) that scans all objects in the heap dump and +delegates the decision to [AndroidObjectInspectors.appLeakingObjectFilters](#). + diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/metadata-extractor.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/metadata-extractor.md new file mode 100644 index 0000000000..c68bca07a3 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/metadata-extractor.md @@ -0,0 +1,11 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisConfig](index.md) / [metadataExtractor](./metadata-extractor.md) + +# metadataExtractor + +`val metadataExtractor: MetadataExtractor` + +Extracts metadata from a hprof to be reported in [shark.HeapAnalysisSuccess.metadata](#). +Called on a background thread during heap analysis. + +Defaults to [AndroidMetadataExtractor](#) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/object-inspectors.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/object-inspectors.md new file mode 100644 index 0000000000..e771ebb705 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/object-inspectors.md @@ -0,0 +1,12 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisConfig](index.md) / [objectInspectors](./object-inspectors.md) + +# objectInspectors + +`val objectInspectors: `[`List`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)`` + +List of [ObjectInspector](#) that provide LeakCanary with insights about objects found in the +heap. You can create your own [ObjectInspector](#) implementations, and also add +a [shark.AppSingletonInspector](#) instance created with the list of internal singletons. + +Defaults to [AndroidObjectInspectors.appDefaults](#) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/reference-matchers.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/reference-matchers.md new file mode 100644 index 0000000000..f747b340c3 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/reference-matchers.md @@ -0,0 +1,16 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisConfig](index.md) / [referenceMatchers](./reference-matchers.md) + +# referenceMatchers + +`val referenceMatchers: `[`List`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)`` + +Known patterns of references in the heap, added here either to ignore them +([IgnoredReferenceMatcher](#)) or to mark them as library leaks ([LibraryLeakReferenceMatcher](#)). + +When adding your own custom [LibraryLeakReferenceMatcher](#) instances, you'll most +likely want to set [LibraryLeakReferenceMatcher.patternApplies](#) with a filter that checks +for the Android OS version and manufacturer. The build information can be obtained by calling +[shark.AndroidBuildMirror.fromHeapGraph](#). + +Defaults to [AndroidReferenceMatchers.appDefaults](#) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/strip-heap-dump.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/strip-heap-dump.md new file mode 100644 index 0000000000..0d872b7aa3 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-config/strip-heap-dump.md @@ -0,0 +1,10 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisConfig](index.md) / [stripHeapDump](./strip-heap-dump.md) + +# stripHeapDump + +`val stripHeapDump: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) + +Whether the first step after a heap dump should be to replace the content of all arrays with +zeroes. This increases the overall processing time but limits the amount of time the heap +dump exists on disk with potential PII. + diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-interceptor/-chain/index.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-interceptor/-chain/index.md new file mode 100644 index 0000000000..f19702899b --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-interceptor/-chain/index.md @@ -0,0 +1,17 @@ +[leakcanary-android-release](../../../index.md) / [leakcanary](../../index.md) / [HeapAnalysisInterceptor](../index.md) / [Chain](./index.md) + +# Chain + +`interface Chain` + +### Properties + +| Name | Summary | +|---|---| +| [job](job.md) | `abstract val job: `[`HeapAnalysisJob`](../../-heap-analysis-job/index.md) | + +### Functions + +| Name | Summary | +|---|---| +| [proceed](proceed.md) | `abstract fun proceed(): `[`HeapAnalysisJob.Result`](../../-heap-analysis-job/-result/index.md) | diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-interceptor/-chain/job.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-interceptor/-chain/job.md new file mode 100644 index 0000000000..c118c82f4c --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-interceptor/-chain/job.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../../index.md) / [leakcanary](../../index.md) / [HeapAnalysisInterceptor](../index.md) / [Chain](index.md) / [job](./job.md) + +# job + +`abstract val job: `[`HeapAnalysisJob`](../../-heap-analysis-job/index.md) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-interceptor/-chain/proceed.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-interceptor/-chain/proceed.md new file mode 100644 index 0000000000..5b5fd3b4d9 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-interceptor/-chain/proceed.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../../index.md) / [leakcanary](../../index.md) / [HeapAnalysisInterceptor](../index.md) / [Chain](index.md) / [proceed](./proceed.md) + +# proceed + +`abstract fun proceed(): `[`HeapAnalysisJob.Result`](../../-heap-analysis-job/-result/index.md) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-interceptor/index.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-interceptor/index.md new file mode 100644 index 0000000000..52bf0b4a90 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-interceptor/index.md @@ -0,0 +1,29 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisInterceptor](./index.md) + +# HeapAnalysisInterceptor + +`interface HeapAnalysisInterceptor` + +### Types + +| Name | Summary | +|---|---| +| [Chain](-chain/index.md) | `interface Chain` | + +### Functions + +| Name | Summary | +|---|---| +| [intercept](intercept.md) | `abstract fun intercept(chain: `[`HeapAnalysisInterceptor.Chain`](-chain/index.md)`): `[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md) | + +### Inheritors + +| Name | Summary | +|---|---| +| [ConditionalInterceptor](../-conditional-interceptor/index.md) | `class ConditionalInterceptor : `[`HeapAnalysisInterceptor`](./index.md)
An interceptor that runs only when [evaluateCondition](#) returns true. | +| [GoodAndroidVersionInterceptor](../-good-android-version-interceptor/index.md) | `class GoodAndroidVersionInterceptor : `[`HeapAnalysisInterceptor`](./index.md) | +| [MinimumDiskSpaceInterceptor](../-minimum-disk-space-interceptor/index.md) | `class MinimumDiskSpaceInterceptor : `[`HeapAnalysisInterceptor`](./index.md) | +| [MinimumElapsedSinceStartInterceptor](../-minimum-elapsed-since-start-interceptor/index.md) | `class MinimumElapsedSinceStartInterceptor : `[`HeapAnalysisInterceptor`](./index.md) | +| [MinimumMemoryInterceptor](../-minimum-memory-interceptor/index.md) | `class MinimumMemoryInterceptor : `[`HeapAnalysisInterceptor`](./index.md) | +| [OncePerPeriodInterceptor](../-once-per-period-interceptor/index.md) | `class OncePerPeriodInterceptor : `[`HeapAnalysisInterceptor`](./index.md)
Proceeds once per [period](#) (of time) and then cancels all follow up jobs until [period](#) has passed. | +| [SaveResourceIdsInterceptor](../-save-resource-ids-interceptor/index.md) | `class SaveResourceIdsInterceptor : `[`HeapAnalysisInterceptor`](./index.md)
Interceptor that saves the names of R.id.* entries and their associated int values to a static field that can then be read from the heap dump. | diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-interceptor/intercept.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-interceptor/intercept.md new file mode 100644 index 0000000000..7ae607d895 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-interceptor/intercept.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisInterceptor](index.md) / [intercept](./intercept.md) + +# intercept + +`abstract fun intercept(chain: `[`HeapAnalysisInterceptor.Chain`](-chain/index.md)`): `[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-canceled/-init-.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-canceled/-init-.md new file mode 100644 index 0000000000..ffe629f2ee --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-canceled/-init-.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../../../index.md) / [leakcanary](../../../index.md) / [HeapAnalysisJob](../../index.md) / [Result](../index.md) / [Canceled](index.md) / [<init>](./-init-.md) + +# <init> + +`Canceled(cancelReason: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`)` \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-canceled/cancel-reason.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-canceled/cancel-reason.md new file mode 100644 index 0000000000..0e67b6f92e --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-canceled/cancel-reason.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../../../index.md) / [leakcanary](../../../index.md) / [HeapAnalysisJob](../../index.md) / [Result](../index.md) / [Canceled](index.md) / [cancelReason](./cancel-reason.md) + +# cancelReason + +`val cancelReason: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-canceled/index.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-canceled/index.md new file mode 100644 index 0000000000..6af8023e0d --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-canceled/index.md @@ -0,0 +1,17 @@ +[leakcanary-android-release](../../../../index.md) / [leakcanary](../../../index.md) / [HeapAnalysisJob](../../index.md) / [Result](../index.md) / [Canceled](./index.md) + +# Canceled + +`data class Canceled : `[`HeapAnalysisJob.Result`](../index.md) + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `Canceled(cancelReason: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`)` | + +### Properties + +| Name | Summary | +|---|---| +| [cancelReason](cancel-reason.md) | `val cancelReason: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-done/-init-.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-done/-init-.md new file mode 100644 index 0000000000..140d9709c3 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-done/-init-.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../../../index.md) / [leakcanary](../../../index.md) / [HeapAnalysisJob](../../index.md) / [Result](../index.md) / [Done](index.md) / [<init>](./-init-.md) + +# <init> + +`Done(analysis: HeapAnalysis, stripHeapDumpDurationMillis: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`? = null)` \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-done/analysis.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-done/analysis.md new file mode 100644 index 0000000000..428e43c182 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-done/analysis.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../../../index.md) / [leakcanary](../../../index.md) / [HeapAnalysisJob](../../index.md) / [Result](../index.md) / [Done](index.md) / [analysis](./analysis.md) + +# analysis + +`val analysis: HeapAnalysis` \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-done/index.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-done/index.md new file mode 100644 index 0000000000..3486e8c2cd --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-done/index.md @@ -0,0 +1,18 @@ +[leakcanary-android-release](../../../../index.md) / [leakcanary](../../../index.md) / [HeapAnalysisJob](../../index.md) / [Result](../index.md) / [Done](./index.md) + +# Done + +`data class Done : `[`HeapAnalysisJob.Result`](../index.md) + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `Done(analysis: HeapAnalysis, stripHeapDumpDurationMillis: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`? = null)` | + +### Properties + +| Name | Summary | +|---|---| +| [analysis](analysis.md) | `val analysis: HeapAnalysis` | +| [stripHeapDumpDurationMillis](strip-heap-dump-duration-millis.md) | `val stripHeapDumpDurationMillis: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`?`
The time spent stripping the hprof of any data if [HeapAnalysisConfig.stripHeapDump](../../../-heap-analysis-config/strip-heap-dump.md) is true, null otherwise. | diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-done/strip-heap-dump-duration-millis.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-done/strip-heap-dump-duration-millis.md new file mode 100644 index 0000000000..6571114fc0 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/-done/strip-heap-dump-duration-millis.md @@ -0,0 +1,9 @@ +[leakcanary-android-release](../../../../index.md) / [leakcanary](../../../index.md) / [HeapAnalysisJob](../../index.md) / [Result](../index.md) / [Done](index.md) / [stripHeapDumpDurationMillis](./strip-heap-dump-duration-millis.md) + +# stripHeapDumpDurationMillis + +`val stripHeapDumpDurationMillis: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`?` + +The time spent stripping the hprof of any data if [HeapAnalysisConfig.stripHeapDump](../../../-heap-analysis-config/strip-heap-dump.md) is +true, null otherwise. + diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/index.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/index.md new file mode 100644 index 0000000000..f2e9784d71 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/-result/index.md @@ -0,0 +1,19 @@ +[leakcanary-android-release](../../../index.md) / [leakcanary](../../index.md) / [HeapAnalysisJob](../index.md) / [Result](./index.md) + +# Result + +`sealed class Result` + +### Types + +| Name | Summary | +|---|---| +| [Canceled](-canceled/index.md) | `data class Canceled : `[`HeapAnalysisJob.Result`](./index.md) | +| [Done](-done/index.md) | `data class Done : `[`HeapAnalysisJob.Result`](./index.md) | + +### Inheritors + +| Name | Summary | +|---|---| +| [Canceled](-canceled/index.md) | `data class Canceled : `[`HeapAnalysisJob.Result`](./index.md) | +| [Done](-done/index.md) | `data class Done : `[`HeapAnalysisJob.Result`](./index.md) | diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/cancel.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/cancel.md new file mode 100644 index 0000000000..428929586a --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/cancel.md @@ -0,0 +1,8 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisJob](index.md) / [cancel](./cancel.md) + +# cancel + +`abstract fun cancel(cancelReason: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +Cancels the job, if possible. Jobs that are already complete cannot be canceled. + diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/canceled.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/canceled.md new file mode 100644 index 0000000000..f6cdd57dce --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/canceled.md @@ -0,0 +1,9 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisJob](index.md) / [canceled](./canceled.md) + +# canceled + +`abstract val canceled: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) + +true of [cancel](cancel.md) has been called or if an [HeapAnalysisInterceptor](../-heap-analysis-interceptor/index.md) has returned +[Result.Canceled](-result/-canceled/index.md) from [HeapAnalysisInterceptor.intercept](../-heap-analysis-interceptor/intercept.md). + diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/context.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/context.md new file mode 100644 index 0000000000..3fc4b306a9 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/context.md @@ -0,0 +1,8 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisJob](index.md) / [context](./context.md) + +# context + +`abstract val context: `[`JobContext`](../-job-context/index.md) + +In memory store, mutable and thread safe. This allows passing data to interceptors. + diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/execute.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/execute.md new file mode 100644 index 0000000000..e4227278d1 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/execute.md @@ -0,0 +1,11 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisJob](index.md) / [execute](./execute.md) + +# execute + +`abstract fun execute(): `[`HeapAnalysisJob.Result`](-result/index.md) + +Starts the analysis job immediately, and blocks until a result is available. + +**Return** +Either [Result.Done](-result/-done/index.md) if the analysis was attempted or [Result.Canceled](-result/-canceled/index.md) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/executed.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/executed.md new file mode 100644 index 0000000000..43f24ebceb --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/executed.md @@ -0,0 +1,9 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisJob](index.md) / [executed](./executed.md) + +# executed + +`abstract val executed: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) + +true if [execute](execute.md) has been called. It is an +error to call [execute](execute.md) more than once. + diff --git a/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/index.md b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/index.md new file mode 100644 index 0000000000..2e6b04d2b0 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-heap-analysis-job/index.md @@ -0,0 +1,29 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [HeapAnalysisJob](./index.md) + +# HeapAnalysisJob + +`interface HeapAnalysisJob` + +A [HeapAnalysisJob](./index.md) represents a single prepared request to analyze the heap. It cannot be +executed twice. + +### Types + +| Name | Summary | +|---|---| +| [Result](-result/index.md) | `sealed class Result` | + +### Properties + +| Name | Summary | +|---|---| +| [canceled](canceled.md) | `abstract val canceled: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
true of [cancel](cancel.md) has been called or if an [HeapAnalysisInterceptor](../-heap-analysis-interceptor/index.md) has returned [Result.Canceled](-result/-canceled/index.md) from [HeapAnalysisInterceptor.intercept](../-heap-analysis-interceptor/intercept.md). | +| [context](context.md) | `abstract val context: `[`JobContext`](../-job-context/index.md)
In memory store, mutable and thread safe. This allows passing data to interceptors. | +| [executed](executed.md) | `abstract val executed: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)
true if [execute](execute.md) has been called. It is an error to call [execute](execute.md) more than once. | + +### Functions + +| Name | Summary | +|---|---| +| [cancel](cancel.md) | `abstract fun cancel(cancelReason: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)
Cancels the job, if possible. Jobs that are already complete cannot be canceled. | +| [execute](execute.md) | `abstract fun execute(): `[`HeapAnalysisJob.Result`](-result/index.md)
Starts the analysis job immediately, and blocks until a result is available. | diff --git a/docs/api/leakcanary-android-release/leakcanary/-job-context/-init-.md b/docs/api/leakcanary-android-release/leakcanary/-job-context/-init-.md new file mode 100644 index 0000000000..496fdcbf72 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-job-context/-init-.md @@ -0,0 +1,11 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [JobContext](index.md) / [<init>](./-init-.md) + +# <init> + +`JobContext(starter: `[`KClass`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html)`<*>)``JobContext(starter: `[`Class`](https://docs.oracle.com/javase/6/docs/api/java/lang/Class.html)`<*>? = null)` + +In memory store that can be used to store objects in a given [HeapAnalysisJob](../-heap-analysis-job/index.md) instance. +This is a simple [MutableMap](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html) of [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) to [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html), but with unsafe generics access. + +By convention, [starter](starter.md) should be the class that triggered the start of the job. + diff --git a/docs/api/leakcanary-android-release/leakcanary/-job-context/contains.md b/docs/api/leakcanary-android-release/leakcanary/-job-context/contains.md new file mode 100644 index 0000000000..1ac170bb0f --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-job-context/contains.md @@ -0,0 +1,10 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [JobContext](index.md) / [contains](./contains.md) + +# contains + +`operator fun contains(key: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`): `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) + +**See Also** + +[MutableMap.containsKey](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/contains-key.html) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-job-context/get-or-put.md b/docs/api/leakcanary-android-release/leakcanary/-job-context/get-or-put.md new file mode 100644 index 0000000000..a1de32e1db --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-job-context/get-or-put.md @@ -0,0 +1,10 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [JobContext](index.md) / [getOrPut](./get-or-put.md) + +# getOrPut + +`fun getOrPut(key: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, defaultValue: () -> `[`T`](get-or-put.md#T)`): `[`T`](get-or-put.md#T) + +**See Also** + +[MutableMap.getOrPut](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/get-or-put.html) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-job-context/get.md b/docs/api/leakcanary-android-release/leakcanary/-job-context/get.md new file mode 100644 index 0000000000..8816cf0763 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-job-context/get.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [JobContext](index.md) / [get](./get.md) + +# get + +`operator fun get(key: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`): `[`T`](get.md#T)`?` \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-job-context/index.md b/docs/api/leakcanary-android-release/leakcanary/-job-context/index.md new file mode 100644 index 0000000000..9cfa99f198 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-job-context/index.md @@ -0,0 +1,32 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [JobContext](./index.md) + +# JobContext + +`class JobContext` + +In memory store that can be used to store objects in a given [HeapAnalysisJob](../-heap-analysis-job/index.md) instance. +This is a simple [MutableMap](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html) of [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) to [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html), but with unsafe generics access. + +By convention, [starter](starter.md) should be the class that triggered the start of the job. + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `JobContext(starter: `[`KClass`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html)`<*>)``JobContext(starter: `[`Class`](https://docs.oracle.com/javase/6/docs/api/java/lang/Class.html)`<*>? = null)`
In memory store that can be used to store objects in a given [HeapAnalysisJob](../-heap-analysis-job/index.md) instance. This is a simple [MutableMap](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html) of [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) to [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html), but with unsafe generics access. | + +### Properties + +| Name | Summary | +|---|---| +| [starter](starter.md) | `val starter: `[`Class`](https://docs.oracle.com/javase/6/docs/api/java/lang/Class.html)`<*>?` | + +### Functions + +| Name | Summary | +|---|---| +| [contains](contains.md) | `operator fun contains(key: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`): `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | +| [get](get.md) | `operator fun get(key: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`): `[`T`](get.md#T)`?` | +| [getOrPut](get-or-put.md) | `fun getOrPut(key: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, defaultValue: () -> `[`T`](get-or-put.md#T)`): `[`T`](get-or-put.md#T) | +| [minusAssign](minus-assign.md) | `operator fun minusAssign(key: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | +| [set](set.md) | `operator fun set(key: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, value: `[`T`](set.md#T)`): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | diff --git a/docs/api/leakcanary-android-release/leakcanary/-job-context/minus-assign.md b/docs/api/leakcanary-android-release/leakcanary/-job-context/minus-assign.md new file mode 100644 index 0000000000..d030b67fd5 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-job-context/minus-assign.md @@ -0,0 +1,10 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [JobContext](index.md) / [minusAssign](./minus-assign.md) + +# minusAssign + +`operator fun minusAssign(key: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +**See Also** + +[MutableMap.remove](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/remove.html) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-job-context/set.md b/docs/api/leakcanary-android-release/leakcanary/-job-context/set.md new file mode 100644 index 0000000000..f8a99e23c8 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-job-context/set.md @@ -0,0 +1,10 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [JobContext](index.md) / [set](./set.md) + +# set + +`operator fun set(key: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, value: `[`T`](set.md#T)`): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +**See Also** + +[MutableMap.set](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/set.html) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-job-context/starter.md b/docs/api/leakcanary-android-release/leakcanary/-job-context/starter.md new file mode 100644 index 0000000000..f8b06cf805 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-job-context/starter.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [JobContext](index.md) / [starter](./starter.md) + +# starter + +`val starter: `[`Class`](https://docs.oracle.com/javase/6/docs/api/java/lang/Class.html)`<*>?` \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-minimum-disk-space-interceptor/-init-.md b/docs/api/leakcanary-android-release/leakcanary/-minimum-disk-space-interceptor/-init-.md new file mode 100644 index 0000000000..3390180d81 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-minimum-disk-space-interceptor/-init-.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [MinimumDiskSpaceInterceptor](index.md) / [<init>](./-init-.md) + +# <init> + +`MinimumDiskSpaceInterceptor(application: Application, minimumDiskSpaceBytes: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)` = 200_000_000, processInfo: `[`ProcessInfo`](../-process-info/index.md)` = ProcessInfo.Real)` \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-minimum-disk-space-interceptor/index.md b/docs/api/leakcanary-android-release/leakcanary/-minimum-disk-space-interceptor/index.md new file mode 100644 index 0000000000..fa3a51d762 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-minimum-disk-space-interceptor/index.md @@ -0,0 +1,17 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [MinimumDiskSpaceInterceptor](./index.md) + +# MinimumDiskSpaceInterceptor + +`class MinimumDiskSpaceInterceptor : `[`HeapAnalysisInterceptor`](../-heap-analysis-interceptor/index.md) + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `MinimumDiskSpaceInterceptor(application: Application, minimumDiskSpaceBytes: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)` = 200_000_000, processInfo: `[`ProcessInfo`](../-process-info/index.md)` = ProcessInfo.Real)` | + +### Functions + +| Name | Summary | +|---|---| +| [intercept](intercept.md) | `fun intercept(chain: `[`HeapAnalysisInterceptor.Chain`](../-heap-analysis-interceptor/-chain/index.md)`): `[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md) | diff --git a/docs/api/leakcanary-android-release/leakcanary/-minimum-disk-space-interceptor/intercept.md b/docs/api/leakcanary-android-release/leakcanary/-minimum-disk-space-interceptor/intercept.md new file mode 100644 index 0000000000..b035718a9e --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-minimum-disk-space-interceptor/intercept.md @@ -0,0 +1,8 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [MinimumDiskSpaceInterceptor](index.md) / [intercept](./intercept.md) + +# intercept + +`fun intercept(chain: `[`HeapAnalysisInterceptor.Chain`](../-heap-analysis-interceptor/-chain/index.md)`): `[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md) + +Overrides [HeapAnalysisInterceptor.intercept](../-heap-analysis-interceptor/intercept.md) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-minimum-elapsed-since-start-interceptor/-init-.md b/docs/api/leakcanary-android-release/leakcanary/-minimum-elapsed-since-start-interceptor/-init-.md new file mode 100644 index 0000000000..943a863f72 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-minimum-elapsed-since-start-interceptor/-init-.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [MinimumElapsedSinceStartInterceptor](index.md) / [<init>](./-init-.md) + +# <init> + +`MinimumElapsedSinceStartInterceptor(minimumElapsedSinceStartMillis: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)` = TimeUnit.SECONDS.toMillis(30), processInfo: `[`ProcessInfo`](../-process-info/index.md)` = ProcessInfo.Real)` \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-minimum-elapsed-since-start-interceptor/index.md b/docs/api/leakcanary-android-release/leakcanary/-minimum-elapsed-since-start-interceptor/index.md new file mode 100644 index 0000000000..58a94a7a1a --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-minimum-elapsed-since-start-interceptor/index.md @@ -0,0 +1,17 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [MinimumElapsedSinceStartInterceptor](./index.md) + +# MinimumElapsedSinceStartInterceptor + +`class MinimumElapsedSinceStartInterceptor : `[`HeapAnalysisInterceptor`](../-heap-analysis-interceptor/index.md) + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `MinimumElapsedSinceStartInterceptor(minimumElapsedSinceStartMillis: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)` = TimeUnit.SECONDS.toMillis(30), processInfo: `[`ProcessInfo`](../-process-info/index.md)` = ProcessInfo.Real)` | + +### Functions + +| Name | Summary | +|---|---| +| [intercept](intercept.md) | `fun intercept(chain: `[`HeapAnalysisInterceptor.Chain`](../-heap-analysis-interceptor/-chain/index.md)`): `[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md) | diff --git a/docs/api/leakcanary-android-release/leakcanary/-minimum-elapsed-since-start-interceptor/intercept.md b/docs/api/leakcanary-android-release/leakcanary/-minimum-elapsed-since-start-interceptor/intercept.md new file mode 100644 index 0000000000..735cb5a12e --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-minimum-elapsed-since-start-interceptor/intercept.md @@ -0,0 +1,8 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [MinimumElapsedSinceStartInterceptor](index.md) / [intercept](./intercept.md) + +# intercept + +`fun intercept(chain: `[`HeapAnalysisInterceptor.Chain`](../-heap-analysis-interceptor/-chain/index.md)`): `[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md) + +Overrides [HeapAnalysisInterceptor.intercept](../-heap-analysis-interceptor/intercept.md) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-minimum-memory-interceptor/-init-.md b/docs/api/leakcanary-android-release/leakcanary/-minimum-memory-interceptor/-init-.md new file mode 100644 index 0000000000..93b1cad9ff --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-minimum-memory-interceptor/-init-.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [MinimumMemoryInterceptor](index.md) / [<init>](./-init-.md) + +# <init> + +`MinimumMemoryInterceptor(application: Application, minimumRequiredAvailableMemoryBytes: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)` = 100_000_000, processInfo: `[`ProcessInfo`](../-process-info/index.md)` = ProcessInfo.Real)` \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-minimum-memory-interceptor/index.md b/docs/api/leakcanary-android-release/leakcanary/-minimum-memory-interceptor/index.md new file mode 100644 index 0000000000..99ee909223 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-minimum-memory-interceptor/index.md @@ -0,0 +1,17 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [MinimumMemoryInterceptor](./index.md) + +# MinimumMemoryInterceptor + +`class MinimumMemoryInterceptor : `[`HeapAnalysisInterceptor`](../-heap-analysis-interceptor/index.md) + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `MinimumMemoryInterceptor(application: Application, minimumRequiredAvailableMemoryBytes: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)` = 100_000_000, processInfo: `[`ProcessInfo`](../-process-info/index.md)` = ProcessInfo.Real)` | + +### Functions + +| Name | Summary | +|---|---| +| [intercept](intercept.md) | `fun intercept(chain: `[`HeapAnalysisInterceptor.Chain`](../-heap-analysis-interceptor/-chain/index.md)`): `[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md) | diff --git a/docs/api/leakcanary-android-release/leakcanary/-minimum-memory-interceptor/intercept.md b/docs/api/leakcanary-android-release/leakcanary/-minimum-memory-interceptor/intercept.md new file mode 100644 index 0000000000..2072669737 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-minimum-memory-interceptor/intercept.md @@ -0,0 +1,8 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [MinimumMemoryInterceptor](index.md) / [intercept](./intercept.md) + +# intercept + +`fun intercept(chain: `[`HeapAnalysisInterceptor.Chain`](../-heap-analysis-interceptor/-chain/index.md)`): `[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md) + +Overrides [HeapAnalysisInterceptor.intercept](../-heap-analysis-interceptor/intercept.md) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-no name provided-.md b/docs/api/leakcanary-android-release/leakcanary/-no name provided-.md new file mode 100644 index 0000000000..3d3c4007b2 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-no name provided-.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../index.md) / [leakcanary](index.md) / [<no name provided>](./-no name provided-.md) + +# <no name provided> + +`fun (): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-once-per-period-interceptor/-init-.md b/docs/api/leakcanary-android-release/leakcanary/-once-per-period-interceptor/-init-.md new file mode 100644 index 0000000000..7bd52e5c62 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-once-per-period-interceptor/-init-.md @@ -0,0 +1,9 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [OncePerPeriodInterceptor](index.md) / [<init>](./-init-.md) + +# <init> + +`OncePerPeriodInterceptor(application: Application, periodMillis: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)` = TimeUnit.DAYS.toMillis(1))` + +Proceeds once per [period](#) (of time) and then cancels all follow up jobs until [period](#) has +passed. + diff --git a/docs/api/leakcanary-android-release/leakcanary/-once-per-period-interceptor/forget.md b/docs/api/leakcanary-android-release/leakcanary/-once-per-period-interceptor/forget.md new file mode 100644 index 0000000000..a94d0bed63 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-once-per-period-interceptor/forget.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [OncePerPeriodInterceptor](index.md) / [forget](./forget.md) + +# forget + +`fun forget(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-once-per-period-interceptor/index.md b/docs/api/leakcanary-android-release/leakcanary/-once-per-period-interceptor/index.md new file mode 100644 index 0000000000..8ba2bb0247 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-once-per-period-interceptor/index.md @@ -0,0 +1,21 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [OncePerPeriodInterceptor](./index.md) + +# OncePerPeriodInterceptor + +`class OncePerPeriodInterceptor : `[`HeapAnalysisInterceptor`](../-heap-analysis-interceptor/index.md) + +Proceeds once per [period](#) (of time) and then cancels all follow up jobs until [period](#) has +passed. + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `OncePerPeriodInterceptor(application: Application, periodMillis: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)` = TimeUnit.DAYS.toMillis(1))`
Proceeds once per [period](#) (of time) and then cancels all follow up jobs until [period](#) has passed. | + +### Functions + +| Name | Summary | +|---|---| +| [forget](forget.md) | `fun forget(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | +| [intercept](intercept.md) | `fun intercept(chain: `[`HeapAnalysisInterceptor.Chain`](../-heap-analysis-interceptor/-chain/index.md)`): `[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md) | diff --git a/docs/api/leakcanary-android-release/leakcanary/-once-per-period-interceptor/intercept.md b/docs/api/leakcanary-android-release/leakcanary/-once-per-period-interceptor/intercept.md new file mode 100644 index 0000000000..3b516d6d55 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-once-per-period-interceptor/intercept.md @@ -0,0 +1,8 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [OncePerPeriodInterceptor](index.md) / [intercept](./intercept.md) + +# intercept + +`fun intercept(chain: `[`HeapAnalysisInterceptor.Chain`](../-heap-analysis-interceptor/-chain/index.md)`): `[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md) + +Overrides [HeapAnalysisInterceptor.intercept](../-heap-analysis-interceptor/intercept.md) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/-below-threshold.md b/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/-below-threshold.md new file mode 100644 index 0000000000..3f430b9600 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/-below-threshold.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../../index.md) / [leakcanary](../../index.md) / [ProcessInfo](../index.md) / [AvailableRam](index.md) / [BelowThreshold](./-below-threshold.md) + +# BelowThreshold + +`object BelowThreshold : `[`ProcessInfo.AvailableRam`](index.md) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/-low-ram-device.md b/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/-low-ram-device.md new file mode 100644 index 0000000000..40cf8d3839 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/-low-ram-device.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../../index.md) / [leakcanary](../../index.md) / [ProcessInfo](../index.md) / [AvailableRam](index.md) / [LowRamDevice](./-low-ram-device.md) + +# LowRamDevice + +`object LowRamDevice : `[`ProcessInfo.AvailableRam`](index.md) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/-memory/-init-.md b/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/-memory/-init-.md new file mode 100644 index 0000000000..cf72de16ff --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/-memory/-init-.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../../../index.md) / [leakcanary](../../../index.md) / [ProcessInfo](../../index.md) / [AvailableRam](../index.md) / [Memory](index.md) / [<init>](./-init-.md) + +# <init> + +`Memory(bytes: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/-memory/bytes.md b/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/-memory/bytes.md new file mode 100644 index 0000000000..be2cc4ed84 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/-memory/bytes.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../../../index.md) / [leakcanary](../../../index.md) / [ProcessInfo](../../index.md) / [AvailableRam](../index.md) / [Memory](index.md) / [bytes](./bytes.md) + +# bytes + +`val bytes: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/-memory/index.md b/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/-memory/index.md new file mode 100644 index 0000000000..faa926c0ee --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/-memory/index.md @@ -0,0 +1,17 @@ +[leakcanary-android-release](../../../../index.md) / [leakcanary](../../../index.md) / [ProcessInfo](../../index.md) / [AvailableRam](../index.md) / [Memory](./index.md) + +# Memory + +`class Memory : `[`ProcessInfo.AvailableRam`](../index.md) + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `Memory(bytes: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` | + +### Properties + +| Name | Summary | +|---|---| +| [bytes](bytes.md) | `val bytes: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) | diff --git a/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/index.md b/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/index.md new file mode 100644 index 0000000000..ba6bb78cb7 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-process-info/-available-ram/index.md @@ -0,0 +1,21 @@ +[leakcanary-android-release](../../../index.md) / [leakcanary](../../index.md) / [ProcessInfo](../index.md) / [AvailableRam](./index.md) + +# AvailableRam + +`sealed class AvailableRam` + +### Types + +| Name | Summary | +|---|---| +| [BelowThreshold](-below-threshold.md) | `object BelowThreshold : `[`ProcessInfo.AvailableRam`](./index.md) | +| [LowRamDevice](-low-ram-device.md) | `object LowRamDevice : `[`ProcessInfo.AvailableRam`](./index.md) | +| [Memory](-memory/index.md) | `class Memory : `[`ProcessInfo.AvailableRam`](./index.md) | + +### Inheritors + +| Name | Summary | +|---|---| +| [BelowThreshold](-below-threshold.md) | `object BelowThreshold : `[`ProcessInfo.AvailableRam`](./index.md) | +| [LowRamDevice](-low-ram-device.md) | `object LowRamDevice : `[`ProcessInfo.AvailableRam`](./index.md) | +| [Memory](-memory/index.md) | `class Memory : `[`ProcessInfo.AvailableRam`](./index.md) | diff --git a/docs/api/leakcanary-android-release/leakcanary/-process-info/-real/available-disk-space-bytes.md b/docs/api/leakcanary-android-release/leakcanary/-process-info/-real/available-disk-space-bytes.md new file mode 100644 index 0000000000..53804a0cd6 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-process-info/-real/available-disk-space-bytes.md @@ -0,0 +1,8 @@ +[leakcanary-android-release](../../../index.md) / [leakcanary](../../index.md) / [ProcessInfo](../index.md) / [Real](index.md) / [availableDiskSpaceBytes](./available-disk-space-bytes.md) + +# availableDiskSpaceBytes + +`fun availableDiskSpaceBytes(path: `[`File`](https://docs.oracle.com/javase/6/docs/api/java/io/File.html)`): `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) + +Overrides [ProcessInfo.availableDiskSpaceBytes](../available-disk-space-bytes.md) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-process-info/-real/available-ram.md b/docs/api/leakcanary-android-release/leakcanary/-process-info/-real/available-ram.md new file mode 100644 index 0000000000..e60b6a8644 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-process-info/-real/available-ram.md @@ -0,0 +1,8 @@ +[leakcanary-android-release](../../../index.md) / [leakcanary](../../index.md) / [ProcessInfo](../index.md) / [Real](index.md) / [availableRam](./available-ram.md) + +# availableRam + +`fun availableRam(context: Context): `[`ProcessInfo.AvailableRam`](../-available-ram/index.md) + +Overrides [ProcessInfo.availableRam](../available-ram.md) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-process-info/-real/elapsed-millis-since-start.md b/docs/api/leakcanary-android-release/leakcanary/-process-info/-real/elapsed-millis-since-start.md new file mode 100644 index 0000000000..ef05f953cc --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-process-info/-real/elapsed-millis-since-start.md @@ -0,0 +1,8 @@ +[leakcanary-android-release](../../../index.md) / [leakcanary](../../index.md) / [ProcessInfo](../index.md) / [Real](index.md) / [elapsedMillisSinceStart](./elapsed-millis-since-start.md) + +# elapsedMillisSinceStart + +`val elapsedMillisSinceStart: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) + +Overrides [ProcessInfo.elapsedMillisSinceStart](../elapsed-millis-since-start.md) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-process-info/-real/index.md b/docs/api/leakcanary-android-release/leakcanary/-process-info/-real/index.md new file mode 100644 index 0000000000..b406498a95 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-process-info/-real/index.md @@ -0,0 +1,19 @@ +[leakcanary-android-release](../../../index.md) / [leakcanary](../../index.md) / [ProcessInfo](../index.md) / [Real](./index.md) + +# Real + +`object Real : `[`ProcessInfo`](../index.md) + +### Properties + +| Name | Summary | +|---|---| +| [elapsedMillisSinceStart](elapsed-millis-since-start.md) | `val elapsedMillisSinceStart: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) | +| [isImportanceBackground](is-importance-background.md) | `val isImportanceBackground: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | + +### Functions + +| Name | Summary | +|---|---| +| [availableDiskSpaceBytes](available-disk-space-bytes.md) | `fun availableDiskSpaceBytes(path: `[`File`](https://docs.oracle.com/javase/6/docs/api/java/io/File.html)`): `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) | +| [availableRam](available-ram.md) | `fun availableRam(context: Context): `[`ProcessInfo.AvailableRam`](../-available-ram/index.md) | diff --git a/docs/api/leakcanary-android-release/leakcanary/-process-info/-real/is-importance-background.md b/docs/api/leakcanary-android-release/leakcanary/-process-info/-real/is-importance-background.md new file mode 100644 index 0000000000..15e5ef2501 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-process-info/-real/is-importance-background.md @@ -0,0 +1,8 @@ +[leakcanary-android-release](../../../index.md) / [leakcanary](../../index.md) / [ProcessInfo](../index.md) / [Real](index.md) / [isImportanceBackground](./is-importance-background.md) + +# isImportanceBackground + +`val isImportanceBackground: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) + +Overrides [ProcessInfo.isImportanceBackground](../is-importance-background.md) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-process-info/available-disk-space-bytes.md b/docs/api/leakcanary-android-release/leakcanary/-process-info/available-disk-space-bytes.md new file mode 100644 index 0000000000..5cd2729ce3 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-process-info/available-disk-space-bytes.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [ProcessInfo](index.md) / [availableDiskSpaceBytes](./available-disk-space-bytes.md) + +# availableDiskSpaceBytes + +`abstract fun availableDiskSpaceBytes(path: `[`File`](https://docs.oracle.com/javase/6/docs/api/java/io/File.html)`): `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-process-info/available-ram.md b/docs/api/leakcanary-android-release/leakcanary/-process-info/available-ram.md new file mode 100644 index 0000000000..23c51e3f41 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-process-info/available-ram.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [ProcessInfo](index.md) / [availableRam](./available-ram.md) + +# availableRam + +`abstract fun availableRam(context: Context): `[`ProcessInfo.AvailableRam`](-available-ram/index.md) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-process-info/elapsed-millis-since-start.md b/docs/api/leakcanary-android-release/leakcanary/-process-info/elapsed-millis-since-start.md new file mode 100644 index 0000000000..3796abb604 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-process-info/elapsed-millis-since-start.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [ProcessInfo](index.md) / [elapsedMillisSinceStart](./elapsed-millis-since-start.md) + +# elapsedMillisSinceStart + +`abstract val elapsedMillisSinceStart: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-process-info/index.md b/docs/api/leakcanary-android-release/leakcanary/-process-info/index.md new file mode 100644 index 0000000000..6f025a7e9e --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-process-info/index.md @@ -0,0 +1,32 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [ProcessInfo](./index.md) + +# ProcessInfo + +`interface ProcessInfo` + +### Types + +| Name | Summary | +|---|---| +| [AvailableRam](-available-ram/index.md) | `sealed class AvailableRam` | +| [Real](-real/index.md) | `object Real : `[`ProcessInfo`](./index.md) | + +### Properties + +| Name | Summary | +|---|---| +| [elapsedMillisSinceStart](elapsed-millis-since-start.md) | `abstract val elapsedMillisSinceStart: `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) | +| [isImportanceBackground](is-importance-background.md) | `abstract val isImportanceBackground: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | + +### Functions + +| Name | Summary | +|---|---| +| [availableDiskSpaceBytes](available-disk-space-bytes.md) | `abstract fun availableDiskSpaceBytes(path: `[`File`](https://docs.oracle.com/javase/6/docs/api/java/io/File.html)`): `[`Long`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) | +| [availableRam](available-ram.md) | `abstract fun availableRam(context: Context): `[`ProcessInfo.AvailableRam`](-available-ram/index.md) | + +### Inheritors + +| Name | Summary | +|---|---| +| [Real](-real/index.md) | `object Real : `[`ProcessInfo`](./index.md) | diff --git a/docs/api/leakcanary-android-release/leakcanary/-process-info/is-importance-background.md b/docs/api/leakcanary-android-release/leakcanary/-process-info/is-importance-background.md new file mode 100644 index 0000000000..18fb6b73c2 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-process-info/is-importance-background.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [ProcessInfo](index.md) / [isImportanceBackground](./is-importance-background.md) + +# isImportanceBackground + +`abstract val isImportanceBackground: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-save-resource-ids-interceptor/-init-.md b/docs/api/leakcanary-android-release/leakcanary/-save-resource-ids-interceptor/-init-.md new file mode 100644 index 0000000000..db6aeb1e61 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-save-resource-ids-interceptor/-init-.md @@ -0,0 +1,9 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [SaveResourceIdsInterceptor](index.md) / [<init>](./-init-.md) + +# <init> + +`SaveResourceIdsInterceptor(resources: Resources)` + +Interceptor that saves the names of R.id.* entries and their associated int values to a static +field that can then be read from the heap dump. + diff --git a/docs/api/leakcanary-android-release/leakcanary/-save-resource-ids-interceptor/index.md b/docs/api/leakcanary-android-release/leakcanary/-save-resource-ids-interceptor/index.md new file mode 100644 index 0000000000..e544eb57d3 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-save-resource-ids-interceptor/index.md @@ -0,0 +1,20 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [SaveResourceIdsInterceptor](./index.md) + +# SaveResourceIdsInterceptor + +`class SaveResourceIdsInterceptor : `[`HeapAnalysisInterceptor`](../-heap-analysis-interceptor/index.md) + +Interceptor that saves the names of R.id.* entries and their associated int values to a static +field that can then be read from the heap dump. + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `SaveResourceIdsInterceptor(resources: Resources)`
Interceptor that saves the names of R.id.* entries and their associated int values to a static field that can then be read from the heap dump. | + +### Functions + +| Name | Summary | +|---|---| +| [intercept](intercept.md) | `fun intercept(chain: `[`HeapAnalysisInterceptor.Chain`](../-heap-analysis-interceptor/-chain/index.md)`): `[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md) | diff --git a/docs/api/leakcanary-android-release/leakcanary/-save-resource-ids-interceptor/intercept.md b/docs/api/leakcanary-android-release/leakcanary/-save-resource-ids-interceptor/intercept.md new file mode 100644 index 0000000000..50237295cc --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-save-resource-ids-interceptor/intercept.md @@ -0,0 +1,8 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [SaveResourceIdsInterceptor](index.md) / [intercept](./intercept.md) + +# intercept + +`fun intercept(chain: `[`HeapAnalysisInterceptor.Chain`](../-heap-analysis-interceptor/-chain/index.md)`): `[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md) + +Overrides [HeapAnalysisInterceptor.intercept](../-heap-analysis-interceptor/intercept.md) + diff --git a/docs/api/leakcanary-android-release/leakcanary/-screen-off-trigger/-init-.md b/docs/api/leakcanary-android-release/leakcanary/-screen-off-trigger/-init-.md new file mode 100644 index 0000000000..12f9c9a0f0 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-screen-off-trigger/-init-.md @@ -0,0 +1,7 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [ScreenOffTrigger](index.md) / [<init>](./-init-.md) + +# <init> + +`ScreenOffTrigger(application: Application, analysisClient: `[`HeapAnalysisClient`](../-heap-analysis-client/index.md)`, analysisExecutor: `[`Executor`](https://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html)`, analysisCallback: (`[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md)`) -> `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` = { result -> + SharkLog.d { "$result" } + })` \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-screen-off-trigger/index.md b/docs/api/leakcanary-android-release/leakcanary/-screen-off-trigger/index.md new file mode 100644 index 0000000000..7e698d50aa --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-screen-off-trigger/index.md @@ -0,0 +1,20 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [ScreenOffTrigger](./index.md) + +# ScreenOffTrigger + +`class ScreenOffTrigger` + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `ScreenOffTrigger(application: Application, analysisClient: `[`HeapAnalysisClient`](../-heap-analysis-client/index.md)`, analysisExecutor: `[`Executor`](https://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html)`, analysisCallback: (`[`HeapAnalysisJob.Result`](../-heap-analysis-job/-result/index.md)`) -> `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` = { result -> + SharkLog.d { "$result" } + })` | + +### Functions + +| Name | Summary | +|---|---| +| [start](start.md) | `fun start(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | +| [stop](stop.md) | `fun stop(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | diff --git a/docs/api/leakcanary-android-release/leakcanary/-screen-off-trigger/start.md b/docs/api/leakcanary-android-release/leakcanary/-screen-off-trigger/start.md new file mode 100644 index 0000000000..e717a69666 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-screen-off-trigger/start.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [ScreenOffTrigger](index.md) / [start](./start.md) + +# start + +`fun start(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/-screen-off-trigger/stop.md b/docs/api/leakcanary-android-release/leakcanary/-screen-off-trigger/stop.md new file mode 100644 index 0000000000..e7a704d0e1 --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/-screen-off-trigger/stop.md @@ -0,0 +1,5 @@ +[leakcanary-android-release](../../index.md) / [leakcanary](../index.md) / [ScreenOffTrigger](index.md) / [stop](./stop.md) + +# stop + +`fun stop(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) \ No newline at end of file diff --git a/docs/api/leakcanary-android-release/leakcanary/index.md b/docs/api/leakcanary-android-release/leakcanary/index.md new file mode 100644 index 0000000000..3cfdd5575a --- /dev/null +++ b/docs/api/leakcanary-android-release/leakcanary/index.md @@ -0,0 +1,29 @@ +[leakcanary-android-release](../index.md) / [leakcanary](./index.md) + +## Package leakcanary + +### Types + +| Name | Summary | +|---|---| +| [BackgroundTrigger](-background-trigger/index.md) | `class BackgroundTrigger` | +| [ConditionalInterceptor](-conditional-interceptor/index.md) | `class ConditionalInterceptor : `[`HeapAnalysisInterceptor`](-heap-analysis-interceptor/index.md)
An interceptor that runs only when [evaluateCondition](#) returns true. | +| [GoodAndroidVersionInterceptor](-good-android-version-interceptor/index.md) | `class GoodAndroidVersionInterceptor : `[`HeapAnalysisInterceptor`](-heap-analysis-interceptor/index.md) | +| [HeapAnalysisClient](-heap-analysis-client/index.md) | `class HeapAnalysisClient` | +| [HeapAnalysisConfig](-heap-analysis-config/index.md) | `data class HeapAnalysisConfig` | +| [HeapAnalysisInterceptor](-heap-analysis-interceptor/index.md) | `interface HeapAnalysisInterceptor` | +| [HeapAnalysisJob](-heap-analysis-job/index.md) | `interface HeapAnalysisJob`
A [HeapAnalysisJob](-heap-analysis-job/index.md) represents a single prepared request to analyze the heap. It cannot be executed twice. | +| [JobContext](-job-context/index.md) | `class JobContext`
In memory store that can be used to store objects in a given [HeapAnalysisJob](-heap-analysis-job/index.md) instance. This is a simple [MutableMap](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html) of [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) to [Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html), but with unsafe generics access. | +| [MinimumDiskSpaceInterceptor](-minimum-disk-space-interceptor/index.md) | `class MinimumDiskSpaceInterceptor : `[`HeapAnalysisInterceptor`](-heap-analysis-interceptor/index.md) | +| [MinimumElapsedSinceStartInterceptor](-minimum-elapsed-since-start-interceptor/index.md) | `class MinimumElapsedSinceStartInterceptor : `[`HeapAnalysisInterceptor`](-heap-analysis-interceptor/index.md) | +| [MinimumMemoryInterceptor](-minimum-memory-interceptor/index.md) | `class MinimumMemoryInterceptor : `[`HeapAnalysisInterceptor`](-heap-analysis-interceptor/index.md) | +| [OncePerPeriodInterceptor](-once-per-period-interceptor/index.md) | `class OncePerPeriodInterceptor : `[`HeapAnalysisInterceptor`](-heap-analysis-interceptor/index.md)
Proceeds once per [period](#) (of time) and then cancels all follow up jobs until [period](#) has passed. | +| [ProcessInfo](-process-info/index.md) | `interface ProcessInfo` | +| [SaveResourceIdsInterceptor](-save-resource-ids-interceptor/index.md) | `class SaveResourceIdsInterceptor : `[`HeapAnalysisInterceptor`](-heap-analysis-interceptor/index.md)
Interceptor that saves the names of R.id.* entries and their associated int values to a static field that can then be read from the heap dump. | +| [ScreenOffTrigger](-screen-off-trigger/index.md) | `class ScreenOffTrigger` | + +### Functions + +| Name | Summary | +|---|---| +| [<no name provided>](-no name provided-.md) | `fun (): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | diff --git a/docs/api/leakcanary-android-release/package-list b/docs/api/leakcanary-android-release/package-list new file mode 100644 index 0000000000..e886de5481 --- /dev/null +++ b/docs/api/leakcanary-android-release/package-list @@ -0,0 +1,4 @@ +$dokka.format:gfm +$dokka.linkExtension:md + +leakcanary diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-activity-watcher/-init-.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-activity-watcher/-init-.md new file mode 100644 index 0000000000..747ba0b27d --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-activity-watcher/-init-.md @@ -0,0 +1,9 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [ActivityWatcher](index.md) / [<init>](./-init-.md) + +# <init> + +`ActivityWatcher(application: Application, reachabilityWatcher: ReachabilityWatcher)` + +Expects activities to become weakly reachable soon after they receive the [Activity.onDestroy](#) +callback. + diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-activity-watcher/index.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-activity-watcher/index.md new file mode 100644 index 0000000000..c53400d490 --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-activity-watcher/index.md @@ -0,0 +1,21 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [ActivityWatcher](./index.md) + +# ActivityWatcher + +`class ActivityWatcher : `[`InstallableWatcher`](../-installable-watcher/index.md) + +Expects activities to become weakly reachable soon after they receive the [Activity.onDestroy](#) +callback. + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `ActivityWatcher(application: Application, reachabilityWatcher: ReachabilityWatcher)`
Expects activities to become weakly reachable soon after they receive the [Activity.onDestroy](#) callback. | + +### Functions + +| Name | Summary | +|---|---| +| [install](install.md) | `fun install(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | +| [uninstall](uninstall.md) | `fun uninstall(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-activity-watcher/install.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-activity-watcher/install.md new file mode 100644 index 0000000000..2f125acdfb --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-activity-watcher/install.md @@ -0,0 +1,8 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [ActivityWatcher](index.md) / [install](./install.md) + +# install + +`fun install(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +Overrides [InstallableWatcher.install](../-installable-watcher/install.md) + diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-activity-watcher/uninstall.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-activity-watcher/uninstall.md new file mode 100644 index 0000000000..43b7fd7547 --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-activity-watcher/uninstall.md @@ -0,0 +1,8 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [ActivityWatcher](index.md) / [uninstall](./uninstall.md) + +# uninstall + +`fun uninstall(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +Overrides [InstallableWatcher.uninstall](../-installable-watcher/uninstall.md) + diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-app-watcher/app-default-watchers.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-app-watcher/app-default-watchers.md new file mode 100644 index 0000000000..edfb576426 --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-app-watcher/app-default-watchers.md @@ -0,0 +1,14 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [AppWatcher](index.md) / [appDefaultWatchers](./app-default-watchers.md) + +# appDefaultWatchers + +`fun appDefaultWatchers(application: Application, reachabilityWatcher: ReachabilityWatcher = objectWatcher): `[`List`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)`<`[`InstallableWatcher`](../-installable-watcher/index.md)`>` + +Creates a new list of default app [InstallableWatcher](../-installable-watcher/index.md), created with the passed in +[reachabilityWatcher](app-default-watchers.md#leakcanary.AppWatcher$appDefaultWatchers(android.app.Application, leakcanary.ReachabilityWatcher)/reachabilityWatcher) (which defaults to [objectWatcher](object-watcher.md)). Once installed, +these watchers will pass in to [reachabilityWatcher](app-default-watchers.md#leakcanary.AppWatcher$appDefaultWatchers(android.app.Application, leakcanary.ReachabilityWatcher)/reachabilityWatcher) objects that they expect to become +weakly reachable. + +The passed in [reachabilityWatcher](app-default-watchers.md#leakcanary.AppWatcher$appDefaultWatchers(android.app.Application, leakcanary.ReachabilityWatcher)/reachabilityWatcher) should probably delegate to [objectWatcher](object-watcher.md) but can +be used to filter out specific instances. + diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-fragment-and-view-model-watcher/-init-.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-fragment-and-view-model-watcher/-init-.md new file mode 100644 index 0000000000..9871af82ef --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-fragment-and-view-model-watcher/-init-.md @@ -0,0 +1,14 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [FragmentAndViewModelWatcher](index.md) / [<init>](./-init-.md) + +# <init> + +`FragmentAndViewModelWatcher(application: Application, reachabilityWatcher: ReachabilityWatcher)` + +Expects: + +* Fragments (Support Library, Android X and AOSP) to become weakly reachable soon after they +receive the Fragment#onDestroy() callback. +* Fragment views (Support Library, Android X and AOSP) to become weakly reachable soon after +fragments receive the Fragment#onDestroyView() callback. +* Android X view models (both activity and fragment view models) to become weakly reachable soon +after they received the ViewModel#onCleared() callback. diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-fragment-and-view-model-watcher/index.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-fragment-and-view-model-watcher/index.md new file mode 100644 index 0000000000..f342387447 --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-fragment-and-view-model-watcher/index.md @@ -0,0 +1,27 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [FragmentAndViewModelWatcher](./index.md) + +# FragmentAndViewModelWatcher + +`class FragmentAndViewModelWatcher : `[`InstallableWatcher`](../-installable-watcher/index.md) + +Expects: + +* Fragments (Support Library, Android X and AOSP) to become weakly reachable soon after they +receive the Fragment#onDestroy() callback. +* Fragment views (Support Library, Android X and AOSP) to become weakly reachable soon after +fragments receive the Fragment#onDestroyView() callback. +* Android X view models (both activity and fragment view models) to become weakly reachable soon +after they received the ViewModel#onCleared() callback. + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `FragmentAndViewModelWatcher(application: Application, reachabilityWatcher: ReachabilityWatcher)`
Expects: | + +### Functions + +| Name | Summary | +|---|---| +| [install](install.md) | `fun install(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | +| [uninstall](uninstall.md) | `fun uninstall(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-fragment-and-view-model-watcher/install.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-fragment-and-view-model-watcher/install.md new file mode 100644 index 0000000000..871b73fe27 --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-fragment-and-view-model-watcher/install.md @@ -0,0 +1,8 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [FragmentAndViewModelWatcher](index.md) / [install](./install.md) + +# install + +`fun install(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +Overrides [InstallableWatcher.install](../-installable-watcher/install.md) + diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-fragment-and-view-model-watcher/uninstall.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-fragment-and-view-model-watcher/uninstall.md new file mode 100644 index 0000000000..126ff2272a --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-fragment-and-view-model-watcher/uninstall.md @@ -0,0 +1,8 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [FragmentAndViewModelWatcher](index.md) / [uninstall](./uninstall.md) + +# uninstall + +`fun uninstall(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +Overrides [InstallableWatcher.uninstall](../-installable-watcher/uninstall.md) + diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-installable-watcher/index.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-installable-watcher/index.md new file mode 100644 index 0000000000..f9b0a2c3cb --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-installable-watcher/index.md @@ -0,0 +1,21 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [InstallableWatcher](./index.md) + +# InstallableWatcher + +`interface InstallableWatcher` + +### Functions + +| Name | Summary | +|---|---| +| [install](install.md) | `abstract fun install(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | +| [uninstall](uninstall.md) | `abstract fun uninstall(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | + +### Inheritors + +| Name | Summary | +|---|---| +| [ActivityWatcher](../-activity-watcher/index.md) | `class ActivityWatcher : `[`InstallableWatcher`](./index.md)
Expects activities to become weakly reachable soon after they receive the [Activity.onDestroy](#) callback. | +| [FragmentAndViewModelWatcher](../-fragment-and-view-model-watcher/index.md) | `class FragmentAndViewModelWatcher : `[`InstallableWatcher`](./index.md)
Expects: | +| [RootViewWatcher](../-root-view-watcher/index.md) | `class RootViewWatcher : `[`InstallableWatcher`](./index.md)
Expects root views to become weakly reachable soon after they are removed from the window manager. | +| [ServiceWatcher](../-service-watcher/index.md) | `class ServiceWatcher : `[`InstallableWatcher`](./index.md)
Expects services to become weakly reachable soon after they receive the [Service.onDestroy](#) callback. | diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-installable-watcher/install.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-installable-watcher/install.md new file mode 100644 index 0000000000..4cfc15619e --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-installable-watcher/install.md @@ -0,0 +1,5 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [InstallableWatcher](index.md) / [install](./install.md) + +# install + +`abstract fun install(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) \ No newline at end of file diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-installable-watcher/uninstall.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-installable-watcher/uninstall.md new file mode 100644 index 0000000000..3a1918fcf9 --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-installable-watcher/uninstall.md @@ -0,0 +1,5 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [InstallableWatcher](index.md) / [uninstall](./uninstall.md) + +# uninstall + +`abstract fun uninstall(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) \ No newline at end of file diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-root-view-watcher/-init-.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-root-view-watcher/-init-.md new file mode 100644 index 0000000000..f45cdf6a7c --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-root-view-watcher/-init-.md @@ -0,0 +1,9 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [RootViewWatcher](index.md) / [<init>](./-init-.md) + +# <init> + +`RootViewWatcher(reachabilityWatcher: ReachabilityWatcher)` + +Expects root views to become weakly reachable soon after they are removed from the window +manager. + diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-root-view-watcher/index.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-root-view-watcher/index.md new file mode 100644 index 0000000000..e4508ed16e --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-root-view-watcher/index.md @@ -0,0 +1,21 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [RootViewWatcher](./index.md) + +# RootViewWatcher + +`class RootViewWatcher : `[`InstallableWatcher`](../-installable-watcher/index.md) + +Expects root views to become weakly reachable soon after they are removed from the window +manager. + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `RootViewWatcher(reachabilityWatcher: ReachabilityWatcher)`
Expects root views to become weakly reachable soon after they are removed from the window manager. | + +### Functions + +| Name | Summary | +|---|---| +| [install](install.md) | `fun install(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | +| [uninstall](uninstall.md) | `fun uninstall(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-root-view-watcher/install.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-root-view-watcher/install.md new file mode 100644 index 0000000000..245cd3b677 --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-root-view-watcher/install.md @@ -0,0 +1,8 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [RootViewWatcher](index.md) / [install](./install.md) + +# install + +`fun install(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +Overrides [InstallableWatcher.install](../-installable-watcher/install.md) + diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-root-view-watcher/uninstall.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-root-view-watcher/uninstall.md new file mode 100644 index 0000000000..293220a45f --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-root-view-watcher/uninstall.md @@ -0,0 +1,8 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [RootViewWatcher](index.md) / [uninstall](./uninstall.md) + +# uninstall + +`fun uninstall(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +Overrides [InstallableWatcher.uninstall](../-installable-watcher/uninstall.md) + diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-service-watcher/-init-.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-service-watcher/-init-.md new file mode 100644 index 0000000000..83601e4274 --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-service-watcher/-init-.md @@ -0,0 +1,9 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [ServiceWatcher](index.md) / [<init>](./-init-.md) + +# <init> + +`ServiceWatcher(reachabilityWatcher: ReachabilityWatcher)` + +Expects services to become weakly reachable soon after they receive the [Service.onDestroy](#) +callback. + diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-service-watcher/index.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-service-watcher/index.md new file mode 100644 index 0000000000..1cedcf6bd3 --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-service-watcher/index.md @@ -0,0 +1,21 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [ServiceWatcher](./index.md) + +# ServiceWatcher + +`class ServiceWatcher : `[`InstallableWatcher`](../-installable-watcher/index.md) + +Expects services to become weakly reachable soon after they receive the [Service.onDestroy](#) +callback. + +### Constructors + +| Name | Summary | +|---|---| +| [<init>](-init-.md) | `ServiceWatcher(reachabilityWatcher: ReachabilityWatcher)`
Expects services to become weakly reachable soon after they receive the [Service.onDestroy](#) callback. | + +### Functions + +| Name | Summary | +|---|---| +| [install](install.md) | `fun install(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | +| [uninstall](uninstall.md) | `fun uninstall(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-service-watcher/install.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-service-watcher/install.md new file mode 100644 index 0000000000..536cae4d90 --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-service-watcher/install.md @@ -0,0 +1,8 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [ServiceWatcher](index.md) / [install](./install.md) + +# install + +`fun install(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +Overrides [InstallableWatcher.install](../-installable-watcher/install.md) + diff --git a/docs/api/leakcanary-object-watcher-android/leakcanary/-service-watcher/uninstall.md b/docs/api/leakcanary-object-watcher-android/leakcanary/-service-watcher/uninstall.md new file mode 100644 index 0000000000..81a4bbcdb7 --- /dev/null +++ b/docs/api/leakcanary-object-watcher-android/leakcanary/-service-watcher/uninstall.md @@ -0,0 +1,8 @@ +[leakcanary-object-watcher-android](../../index.md) / [leakcanary](../index.md) / [ServiceWatcher](index.md) / [uninstall](./uninstall.md) + +# uninstall + +`fun uninstall(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +Overrides [InstallableWatcher.uninstall](../-installable-watcher/uninstall.md) + diff --git a/docs/api/leakcanary-object-watcher/leakcanary/-keyed-weak-reference/clear.md b/docs/api/leakcanary-object-watcher/leakcanary/-keyed-weak-reference/clear.md new file mode 100644 index 0000000000..f927540683 --- /dev/null +++ b/docs/api/leakcanary-object-watcher/leakcanary/-keyed-weak-reference/clear.md @@ -0,0 +1,5 @@ +[leakcanary-object-watcher](../../index.md) / [leakcanary](../index.md) / [KeyedWeakReference](index.md) / [clear](./clear.md) + +# clear + +`fun clear(): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) \ No newline at end of file diff --git a/docs/api/leakcanary-object-watcher/leakcanary/-no name provided-.md b/docs/api/leakcanary-object-watcher/leakcanary/-no name provided-.md new file mode 100644 index 0000000000..3a2c6858dd --- /dev/null +++ b/docs/api/leakcanary-object-watcher/leakcanary/-no name provided-.md @@ -0,0 +1,10 @@ +[leakcanary-object-watcher](../index.md) / [leakcanary](index.md) / [<no name provided>](./-no name provided-.md) + +# <no name provided> + +`fun (): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +An interface to abstract the SystemClock.uptimeMillis() Android API in non Android artifacts. + +This is a functional interface with which you can create a [Clock](-clock/index.md) from a lambda. + diff --git a/docs/api/leakcanary-object-watcher/leakcanary/-object-watcher/expect-weakly-reachable.md b/docs/api/leakcanary-object-watcher/leakcanary/-object-watcher/expect-weakly-reachable.md new file mode 100644 index 0000000000..9e8c5ab920 --- /dev/null +++ b/docs/api/leakcanary-object-watcher/leakcanary/-object-watcher/expect-weakly-reachable.md @@ -0,0 +1,11 @@ +[leakcanary-object-watcher](../../index.md) / [leakcanary](../index.md) / [ObjectWatcher](index.md) / [expectWeaklyReachable](./expect-weakly-reachable.md) + +# expectWeaklyReachable + +`@Synchronized fun expectWeaklyReachable(watchedObject: `[`Any`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)`, description: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +Overrides [ReachabilityWatcher.expectWeaklyReachable](../-reachability-watcher/expect-weakly-reachable.md) + +Expects the provided [watchedObject](../-reachability-watcher/expect-weakly-reachable.md#leakcanary.ReachabilityWatcher$expectWeaklyReachable(kotlin.Any, kotlin.String)/watchedObject) to become weakly reachable soon. If not, +[watchedObject](../-reachability-watcher/expect-weakly-reachable.md#leakcanary.ReachabilityWatcher$expectWeaklyReachable(kotlin.Any, kotlin.String)/watchedObject) will be considered retained. + diff --git a/docs/api/leakcanary-object-watcher/leakcanary/-reachability-watcher/expect-weakly-reachable.md b/docs/api/leakcanary-object-watcher/leakcanary/-reachability-watcher/expect-weakly-reachable.md new file mode 100644 index 0000000000..df21c88bf2 --- /dev/null +++ b/docs/api/leakcanary-object-watcher/leakcanary/-reachability-watcher/expect-weakly-reachable.md @@ -0,0 +1,9 @@ +[leakcanary-object-watcher](../../index.md) / [leakcanary](../index.md) / [ReachabilityWatcher](index.md) / [expectWeaklyReachable](./expect-weakly-reachable.md) + +# expectWeaklyReachable + +`abstract fun expectWeaklyReachable(watchedObject: `[`Any`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)`, description: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +Expects the provided [watchedObject](expect-weakly-reachable.md#leakcanary.ReachabilityWatcher$expectWeaklyReachable(kotlin.Any, kotlin.String)/watchedObject) to become weakly reachable soon. If not, +[watchedObject](expect-weakly-reachable.md#leakcanary.ReachabilityWatcher$expectWeaklyReachable(kotlin.Any, kotlin.String)/watchedObject) will be considered retained. + diff --git a/docs/api/leakcanary-object-watcher/leakcanary/-reachability-watcher/index.md b/docs/api/leakcanary-object-watcher/leakcanary/-reachability-watcher/index.md new file mode 100644 index 0000000000..d97479650b --- /dev/null +++ b/docs/api/leakcanary-object-watcher/leakcanary/-reachability-watcher/index.md @@ -0,0 +1,17 @@ +[leakcanary-object-watcher](../../index.md) / [leakcanary](../index.md) / [ReachabilityWatcher](./index.md) + +# ReachabilityWatcher + +`interface ReachabilityWatcher` + +### Functions + +| Name | Summary | +|---|---| +| [expectWeaklyReachable](expect-weakly-reachable.md) | `abstract fun expectWeaklyReachable(watchedObject: `[`Any`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)`, description: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)
Expects the provided [watchedObject](expect-weakly-reachable.md#leakcanary.ReachabilityWatcher$expectWeaklyReachable(kotlin.Any, kotlin.String)/watchedObject) to become weakly reachable soon. If not, [watchedObject](expect-weakly-reachable.md#leakcanary.ReachabilityWatcher$expectWeaklyReachable(kotlin.Any, kotlin.String)/watchedObject) will be considered retained. | + +### Inheritors + +| Name | Summary | +|---|---| +| [ObjectWatcher](../-object-watcher/index.md) | `class ObjectWatcher : `[`ReachabilityWatcher`](./index.md)
[ObjectWatcher](../-object-watcher/index.md) can be passed objects to [watch](../-object-watcher/watch.md). It will create [KeyedWeakReference](../-keyed-weak-reference/index.md) instances that reference watches objects, and check if those references have been cleared as expected on the [checkRetainedExecutor](#) executor. If not, these objects are considered retained and [ObjectWatcher](../-object-watcher/index.md) will then notify registered [OnObjectRetainedListener](../-on-object-retained-listener/index.md)s on that executor thread. | diff --git a/docs/api/plumber-android/leakcanary/-android-leak-fixes/-i-m-m_-c-u-r_-r-o-o-t_-v-i-e-w/apply.md b/docs/api/plumber-android/leakcanary/-android-leak-fixes/-i-m-m_-c-u-r_-r-o-o-t_-v-i-e-w/apply.md new file mode 100644 index 0000000000..d1671d081d --- /dev/null +++ b/docs/api/plumber-android/leakcanary/-android-leak-fixes/-i-m-m_-c-u-r_-r-o-o-t_-v-i-e-w/apply.md @@ -0,0 +1,8 @@ +[plumber-android](../../../index.md) / [leakcanary](../../index.md) / [AndroidLeakFixes](../index.md) / [IMM_CUR_ROOT_VIEW](index.md) / [apply](./apply.md) + +# apply + +`protected fun apply(application: Application): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +Overrides [AndroidLeakFixes.apply](../apply.md) + diff --git a/docs/api/plumber-android/leakcanary/-android-leak-fixes/-i-m-m_-c-u-r_-r-o-o-t_-v-i-e-w/index.md b/docs/api/plumber-android/leakcanary/-android-leak-fixes/-i-m-m_-c-u-r_-r-o-o-t_-v-i-e-w/index.md new file mode 100644 index 0000000000..2c60f4b100 --- /dev/null +++ b/docs/api/plumber-android/leakcanary/-android-leak-fixes/-i-m-m_-c-u-r_-r-o-o-t_-v-i-e-w/index.md @@ -0,0 +1,28 @@ +[plumber-android](../../../index.md) / [leakcanary](../../index.md) / [AndroidLeakFixes](../index.md) / [IMM_CUR_ROOT_VIEW](./index.md) + +# IMM_CUR_ROOT_VIEW + +`IMM_CUR_ROOT_VIEW` + +When an activity is destroyed, the corresponding ViewRootImpl instance is released and ready to +be garbage collected. +Some time after that, ViewRootImpl#W receives a windowfocusChanged() callback, which it +normally delegates to ViewRootImpl which in turn calls +InputMethodManager#onPreWindowFocus which clears InputMethodManager#mCurRootView. + +Unfortunately, since the ViewRootImpl instance is garbage collectable it may be garbage +collected before that happens. +ViewRootImpl#W has a weak reference on ViewRootImpl, so that weak reference will then return +null and the windowfocusChanged() callback will be ignored, leading to +InputMethodManager#mCurRootView not being cleared. + +Filed here: https://issuetracker.google.com/u/0/issues/116078227 +Fixed here: https://android.googlesource.com/platform/frameworks/base/+/dff365ef4dc61239fac70953b631e92972a9f41f%5E%21/#F0 +InputMethodManager.mCurRootView is part of the unrestricted grey list on Android 9: +https://android.googlesource.com/platform/frameworks/base/+/pie-release/config/hiddenapi-light-greylist.txt#6057 + +### Functions + +| Name | Summary | +|---|---| +| [apply](apply.md) | `fun apply(application: Application): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | diff --git a/docs/api/plumber-android/leakcanary/-android-leak-fixes/-i-m-m_-f-o-c-u-s-e-d_-v-i-e-w/apply.md b/docs/api/plumber-android/leakcanary/-android-leak-fixes/-i-m-m_-f-o-c-u-s-e-d_-v-i-e-w/apply.md new file mode 100644 index 0000000000..db3cbf1558 --- /dev/null +++ b/docs/api/plumber-android/leakcanary/-android-leak-fixes/-i-m-m_-f-o-c-u-s-e-d_-v-i-e-w/apply.md @@ -0,0 +1,8 @@ +[plumber-android](../../../index.md) / [leakcanary](../../index.md) / [AndroidLeakFixes](../index.md) / [IMM_FOCUSED_VIEW](index.md) / [apply](./apply.md) + +# apply + +`protected fun apply(application: Application): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +Overrides [AndroidLeakFixes.apply](../apply.md) + diff --git a/docs/api/plumber-android/leakcanary/-android-leak-fixes/-i-m-m_-f-o-c-u-s-e-d_-v-i-e-w/index.md b/docs/api/plumber-android/leakcanary/-android-leak-fixes/-i-m-m_-f-o-c-u-s-e-d_-v-i-e-w/index.md new file mode 100644 index 0000000000..363cfc1ddf --- /dev/null +++ b/docs/api/plumber-android/leakcanary/-android-leak-fixes/-i-m-m_-f-o-c-u-s-e-d_-v-i-e-w/index.md @@ -0,0 +1,18 @@ +[plumber-android](../../../index.md) / [leakcanary](../../index.md) / [AndroidLeakFixes](../index.md) / [IMM_FOCUSED_VIEW](./index.md) + +# IMM_FOCUSED_VIEW + +`IMM_FOCUSED_VIEW` + +Fix for https://code.google.com/p/android/issues/detail?id=171190 . + +When a view that has focus gets detached, we wait for the main thread to be idle and then +check if the InputMethodManager is leaking a view. If yes, we tell it that the decor view got +focus, which is what happens if you press home and come back from recent apps. This replaces +the reference to the detached view with a reference to the decor view. + +### Functions + +| Name | Summary | +|---|---| +| [apply](apply.md) | `fun apply(application: Application): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | diff --git a/docs/api/plumber-android/leakcanary/-android-leak-fixes/-s-p-e-l-l_-c-h-e-c-k-e-r/apply.md b/docs/api/plumber-android/leakcanary/-android-leak-fixes/-s-p-e-l-l_-c-h-e-c-k-e-r/apply.md new file mode 100644 index 0000000000..c9bab948fe --- /dev/null +++ b/docs/api/plumber-android/leakcanary/-android-leak-fixes/-s-p-e-l-l_-c-h-e-c-k-e-r/apply.md @@ -0,0 +1,8 @@ +[plumber-android](../../../index.md) / [leakcanary](../../index.md) / [AndroidLeakFixes](../index.md) / [SPELL_CHECKER](index.md) / [apply](./apply.md) + +# apply + +`protected fun apply(application: Application): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +Overrides [AndroidLeakFixes.apply](../apply.md) + diff --git a/docs/api/plumber-android/leakcanary/-android-leak-fixes/-s-p-e-l-l_-c-h-e-c-k-e-r/index.md b/docs/api/plumber-android/leakcanary/-android-leak-fixes/-s-p-e-l-l_-c-h-e-c-k-e-r/index.md new file mode 100644 index 0000000000..13fe294460 --- /dev/null +++ b/docs/api/plumber-android/leakcanary/-android-leak-fixes/-s-p-e-l-l_-c-h-e-c-k-e-r/index.md @@ -0,0 +1,62 @@ +[plumber-android](../../../index.md) / [leakcanary](../../index.md) / [AndroidLeakFixes](../index.md) / [SPELL_CHECKER](./index.md) + +# SPELL_CHECKER + +`SPELL_CHECKER` + +Every editable TextView has an Editor instance which has a SpellChecker instance. SpellChecker +is in charge of displaying the little squiggle spans that show typos. SpellChecker starts a +SpellCheckerSession as needed and then closes it when the TextView is detached from the window. +A SpellCheckerSession is in charge of communicating with the spell checker service (which lives +in another process) through TextServicesManager. + +The SpellChecker sends the TextView content to the spell checker service every 400ms, ie every +time the service calls back with a result the SpellChecker schedules another check for 400ms +later. + +When the TextView is detached from the window, the spell checker closes the session. In practice, +SpellCheckerSessionListenerImpl.mHandler is set to null and when the service calls +SpellCheckerSessionListenerImpl.onGetSuggestions or +SpellCheckerSessionListenerImpl.onGetSentenceSuggestions back from another process, there's a +null check for SpellCheckerSessionListenerImpl.mHandler and the callback is dropped. + +Unfortunately, on Android M there's a race condition in how that's done. When the service calls +back into our app process, the IPC call is received on a binder thread. That's when the null +check happens. If the session is not closed at this point (mHandler not null), the callback is +then posted to the main thread. If on the main thread the session is closed after that post but +prior to that post being handled, then the post will still be processed, after the session has +been closed. + +When the post is processed, SpellCheckerSession calls back into SpellChecker which in turns +schedules a new spell check to be ran in 400ms. The check is an anonymous inner class +(SpellChecker$1) stored as SpellChecker.mSpellRunnable and implementing Runnable. It is scheduled +by calling [View.postDelayed](#). As we've seen, at this point the session may be closed which means +that the view has been detached. [View.postDelayed](#) behaves differently when a view is detached: +instead of posting to the single [Handler](#) used by the view hierarchy, it enqueues the Runnable +into ViewRootImpl.RunQueue, a static queue that holds on to "actions" to be executed. As soon as +a view hierarchy is attached, the ViewRootImpl.RunQueue is processed and emptied. + +Unfortunately, that means that as long as no view hierarchy is attached, ie as long as there +are no activities alive, the actions stay in ViewRootImpl.RunQueue. That means SpellChecker$1 +ends up being kept in memory. It holds on to SpellChecker which in turns holds on +to the detached TextView and corresponding destroyed activity & view hierarchy. + +We have a fix for this! When the spell check session is closed, we replace +SpellCheckerSession.mSpellCheckerSessionListener (which normally is the SpellChecker) with a +no-op implementation. So even if callbacks are enqueued to the main thread handler, these +callbacks will call the no-op implementation and SpellChecker will not be scheduling a spell +check. + +Sources to corroborate: + +https://android.googlesource.com/platform/frameworks/base/+/marshmallow-release +/core/java/android/view/textservice/SpellCheckerSession.java +/core/java/android/view/textservice/TextServicesManager.java +/core/java/android/widget/SpellChecker.java +/core/java/android/view/ViewRootImpl.java + +### Functions + +| Name | Summary | +|---|---| +| [apply](apply.md) | `fun apply(application: Application): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | diff --git a/docs/api/shark-android/shark/-android-reference-matchers/-a-p-p-l-i-c-a-t-i-o-n_-p-a-c-k-a-g-e_-m-a-n-a-g-e-r__-h-a-s_-s-y-s-t-e-m_-f-e-a-t-u-r-e_-q-u-e-r-y.md b/docs/api/shark-android/shark/-android-reference-matchers/-a-p-p-l-i-c-a-t-i-o-n_-p-a-c-k-a-g-e_-m-a-n-a-g-e-r__-h-a-s_-s-y-s-t-e-m_-f-e-a-t-u-r-e_-q-u-e-r-y.md new file mode 100644 index 0000000000..ff49543452 --- /dev/null +++ b/docs/api/shark-android/shark/-android-reference-matchers/-a-p-p-l-i-c-a-t-i-o-n_-p-a-c-k-a-g-e_-m-a-n-a-g-e-r__-h-a-s_-s-y-s-t-e-m_-f-e-a-t-u-r-e_-q-u-e-r-y.md @@ -0,0 +1,5 @@ +[shark-android](../../index.md) / [shark](../index.md) / [AndroidReferenceMatchers](index.md) / [APPLICATION_PACKAGE_MANAGER__HAS_SYSTEM_FEATURE_QUERY](./-a-p-p-l-i-c-a-t-i-o-n_-p-a-c-k-a-g-e_-m-a-n-a-g-e-r__-h-a-s_-s-y-s-t-e-m_-f-e-a-t-u-r-e_-q-u-e-r-y.md) + +# APPLICATION_PACKAGE_MANAGER__HAS_SYSTEM_FEATURE_QUERY + +`APPLICATION_PACKAGE_MANAGER__HAS_SYSTEM_FEATURE_QUERY` \ No newline at end of file diff --git a/docs/api/shark-hprof/shark/-no name provided-.md b/docs/api/shark-hprof/shark/-no name provided-.md new file mode 100644 index 0000000000..1db335bb8a --- /dev/null +++ b/docs/api/shark-hprof/shark/-no name provided-.md @@ -0,0 +1,12 @@ +[shark-hprof](../index.md) / [shark](index.md) / [<no name provided>](./-no name provided-.md) + +# <no name provided> + +`fun (): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +Listener passed in to [StreamingHprofReader.readRecords](-streaming-hprof-reader/read-records.md), gets notified for each [HprofRecord](-hprof-record/index.md) +found in the heap dump which types is in the set of the recordTypes parameter passed to +[StreamingHprofReader.readRecords](-streaming-hprof-reader/read-records.md). + +This is a functional interface with which you can create a [OnHprofRecordListener](-on-hprof-record-listener/index.md) from a lambda. + diff --git a/docs/api/shark/shark/-heap-analysis-success/unreachable-objects.md b/docs/api/shark/shark/-heap-analysis-success/unreachable-objects.md new file mode 100644 index 0000000000..daa51a779a --- /dev/null +++ b/docs/api/shark/shark/-heap-analysis-success/unreachable-objects.md @@ -0,0 +1,5 @@ +[shark](../../index.md) / [shark](../index.md) / [HeapAnalysisSuccess](index.md) / [unreachableObjects](./unreachable-objects.md) + +# unreachableObjects + +`val unreachableObjects: `[`List`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)`<`[`LeakTraceObject`](../-leak-trace-object/index.md)`>` \ No newline at end of file diff --git a/docs/api/shark/shark/-leak-trace-object/to-string.md b/docs/api/shark/shark/-leak-trace-object/to-string.md new file mode 100644 index 0000000000..7269128cb6 --- /dev/null +++ b/docs/api/shark/shark/-leak-trace-object/to-string.md @@ -0,0 +1,5 @@ +[shark](../../index.md) / [shark](../index.md) / [LeakTraceObject](index.md) / [toString](./to-string.md) + +# toString + +`fun toString(): `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) \ No newline at end of file diff --git a/docs/api/shark/shark/-leak-trace-reference/owning-class-name.md b/docs/api/shark/shark/-leak-trace-reference/owning-class-name.md new file mode 100644 index 0000000000..628b86b002 --- /dev/null +++ b/docs/api/shark/shark/-leak-trace-reference/owning-class-name.md @@ -0,0 +1,5 @@ +[shark](../../index.md) / [shark](../index.md) / [LeakTraceReference](index.md) / [owningClassName](./owning-class-name.md) + +# owningClassName + +`val owningClassName: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) \ No newline at end of file diff --git a/docs/api/shark/shark/-leak-trace-reference/owning-class-simple-name.md b/docs/api/shark/shark/-leak-trace-reference/owning-class-simple-name.md new file mode 100644 index 0000000000..73e1f0efee --- /dev/null +++ b/docs/api/shark/shark/-leak-trace-reference/owning-class-simple-name.md @@ -0,0 +1,9 @@ +[shark](../../index.md) / [shark](../index.md) / [LeakTraceReference](index.md) / [owningClassSimpleName](./owning-class-simple-name.md) + +# owningClassSimpleName + +`val owningClassSimpleName: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) + +Returns {@link #className} without the package, ie stripped of any string content before the +last period (included). + diff --git a/docs/api/shark/shark/-no name provided-.md b/docs/api/shark/shark/-no name provided-.md new file mode 100644 index 0000000000..7c68c86fe3 --- /dev/null +++ b/docs/api/shark/shark/-no name provided-.md @@ -0,0 +1,11 @@ +[shark](../index.md) / [shark](index.md) / [<no name provided>](./-no name provided-.md) + +# <no name provided> + +`fun (): `[`Unit`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) + +Finds the objects that are leaking, for which Shark will compute +leak traces. + +This is a functional interface with which you can create a [LeakingObjectFinder](-leaking-object-finder/index.md) from a lambda. +