Android APIs
public class

PhantomReference

extends Reference<T>
java.lang.Object
   ↳ java.lang.ref.Reference<T>
     ↳ java.lang.ref.PhantomReference<T>

Class Overview

Implements a phantom reference, which is the weakest of the three types of references. Once the garbage collector decides that an object obj is phantom-reachable, it is being enqueued on the corresponding queue, but its referent is not cleared. That is, the reference queue of the phantom reference must explicitly be processed by some application code. As a consequence, a phantom reference that is not registered with any reference queue does not make any sense.

Phantom references are useful for implementing cleanup operations that are necessary before an object gets garbage-collected. They are sometimes more flexible than the finalize() method.

Summary

Public Constructors
PhantomReference(T r, ReferenceQueue<? super T> q)
Constructs a new phantom reference and registers it with the given reference queue.
Public Methods
T get()
Returns null.
[Expand]
Inherited Methods
From class java.lang.ref.Reference
From class java.lang.Object
Object clone()
Creates and returns a copy of this Object.
boolean equals(Object o)
Compares this instance with the specified object and indicates if they are equal.
void finalize()
Invoked when the garbage collector has detected that this instance is no longer reachable.
final Class<?> getClass()
Returns the unique instance of Class that represents this object's class.
int hashCode()
Returns an integer hash code for this object.
final void notify()
Causes a thread which is waiting on this object's monitor (by means of calling one of the wait() methods) to be woken up.
final void notifyAll()
Causes all threads which are waiting on this object's monitor (by means of calling one of the wait() methods) to be woken up.
String toString()
Returns a string containing a concise, human-readable description of this object.
final void wait()
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object.
final void wait(long millis, int nanos)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the specified timeout expires.
final void wait(long millis)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the specified timeout expires.

Public Constructors

public PhantomReference (T r, ReferenceQueue<? super T> q)

Added in API level 1

Constructs a new phantom reference and registers it with the given reference queue. The reference queue may be null, but this case does not make any sense, since the reference will never be enqueued, and the get() method always returns null.

Parameters
r the referent to track
q the queue to register the phantom reference object with

Public Methods

public T get ()

Added in API level 1

Returns null. The referent of a phantom reference is not accessible.

Returns
  • null (always)