Package leakcanary

Types

Link copied to clipboard
fun interface Clock

An interface to abstract the SystemClock.uptimeMillis() Android API in non Android artifacts.

Link copied to clipboard
fun interface GcTrigger

GcTrigger is used to try triggering garbage collection and enqueuing KeyedWeakReference into the associated java.lang.ref.ReferenceQueue. The default implementation Default comes from AOSP.

Link copied to clipboard
class KeyedWeakReference(    referent: Any,     val key: String,     val description: String,     val watchUptimeMillis: Long,     referenceQueue: ReferenceQueue<Any>) : WeakReference<Any>

A weak reference used by ObjectWatcher to determine which objects become weakly reachable and which don't. ObjectWatcher uses key to keep track of KeyedWeakReference instances that haven't made it into the associated ReferenceQueue yet.

Link copied to clipboard
class ObjectWatcher(    clock: Clock,     checkRetainedExecutor: Executor,     isEnabled: () -> Boolean = { true }) : ReachabilityWatcher

ObjectWatcher can be passed objects to watch. It will create KeyedWeakReference 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 will then notify registered OnObjectRetainedListeners on that executor thread.

Link copied to clipboard
fun interface OnObjectRetainedListener

Listener used by ObjectWatcher to report retained objects.

Link copied to clipboard
fun interface ReachabilityWatcher