Package leakcanary

Types

BackgroundTrigger
Link copied to clipboard
class BackgroundTrigger(application: Application, analysisClient: HeapAnalysisClient, analysisExecutor: Executor, processInfo: ProcessInfo, analysisCallback: (HeapAnalysisJob.Result) -> Unit)
ConditionalInterceptor
Link copied to clipboard
class ConditionalInterceptor(delegate: HeapAnalysisInterceptor, evaluateCondition: (HeapAnalysisJob) -> Boolean) : HeapAnalysisInterceptor

An interceptor that runs only when evaluateCondition returns true.

GoodAndroidVersionInterceptor
Link copied to clipboard
class GoodAndroidVersionInterceptor : HeapAnalysisInterceptor
HeapAnalysisClient
Link copied to clipboard
class HeapAnalysisClient(heapDumpDirectoryProvider: () -> File, config: HeapAnalysisConfig, interceptors: List<HeapAnalysisInterceptor>)
HeapAnalysisConfig
Link copied to clipboard
data class HeapAnalysisConfig(referenceMatchers: List<ReferenceMatcher>, objectInspectors: List<ObjectInspector>, metadataExtractor: MetadataExtractor, computeRetainedHeapSize: Boolean, leakingObjectFinder: LeakingObjectFinder, stripHeapDump: Boolean)
HeapAnalysisInterceptor
Link copied to clipboard
fun interface HeapAnalysisInterceptor
HeapAnalysisJob
Link copied to clipboard
interface HeapAnalysisJob

A HeapAnalysisJob represents a single prepared request to analyze the heap. It cannot be executed twice.

JobContext
Link copied to clipboard
class JobContext(starter: Class<*>?)

In memory store that can be used to store objects in a given HeapAnalysisJob instance. This is a simple MutableMap of String to Any, but with unsafe generics access.

MinimumDiskSpaceInterceptor
Link copied to clipboard
class MinimumDiskSpaceInterceptor(application: Application, minimumDiskSpaceBytes: Long, processInfo: ProcessInfo) : HeapAnalysisInterceptor
MinimumElapsedSinceStartInterceptor
Link copied to clipboard
class MinimumElapsedSinceStartInterceptor(minimumElapsedSinceStartMillis: Long, processInfo: ProcessInfo) : HeapAnalysisInterceptor
MinimumMemoryInterceptor
Link copied to clipboard
class MinimumMemoryInterceptor(application: Application, minimumRequiredAvailableMemoryBytes: Long, processInfo: ProcessInfo) : HeapAnalysisInterceptor
OncePerPeriodInterceptor
Link copied to clipboard
class OncePerPeriodInterceptor(application: Application, periodMillis: Long) : HeapAnalysisInterceptor

Proceeds once per period (of time) and then cancels all follow up jobs until period has passed.

ProcessInfo
Link copied to clipboard
interface ProcessInfo
SaveResourceIdsInterceptor
Link copied to clipboard
class SaveResourceIdsInterceptor(resources: Resources) : HeapAnalysisInterceptor

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
Link copied to clipboard
class ScreenOffTrigger(application: Application, analysisClient: HeapAnalysisClient, analysisExecutor: Executor, analysisCallback: (HeapAnalysisJob.Result) -> Unit)