Package-level declarations

Types

Link copied to clipboard
class DelayedDeletableObjectReporter(deletableObjectReporter: TriggeredDeletableObjectReporter, delayedExecutor: DelayedExecutor)
Link copied to clipboard
fun interface DelayedExecutor
Link copied to clipboard
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 ReferenceQueueRetainedObjectTracker to determine which objects become weakly reachable and which don't. ReferenceQueueRetainedObjectTracker uses key to keep track of KeyedWeakReference instances that haven't made it into the associated ReferenceQueue yet.

Link copied to clipboard

Listener used by ReferenceQueueRetainedObjectTracker to report retained objects.

Link copied to clipboard

ReferenceQueueRetainedObjectTracker can be passed objects to expectDeletionOnTriggerFor. It will create KeyedWeakReference instances that reference tracked objects, and check if those references have been cleared as expected. If not, these objects are considered retained and ReferenceQueueRetainedObjectTracker will then notify registered OnObjectRetainedListeners. ReferenceQueueRetainedObjectTracker is thread safe.

Link copied to clipboard

Helper util for tracking retained objects.

Link copied to clipboard
Link copied to clipboard

Tracks deletion of target objects, marking them retained on trigger.

Link copied to clipboard
fun interface UptimeClock

An interface to abstract the clock to get the system uptime.

Functions

Link copied to clipboard

Creates a wrapper around DeletableObjectReporter that will run any instance of T by apply to decide whether to forward to DeletableObjectReporter.expectDeletionFor calls. Objects that do not extend T will always be forwarded.