to top
Android APIs
public class

ReferenceQueue

extends Object
java.lang.Object
   ↳ java.lang.ref.ReferenceQueue<T>

Class Overview

The ReferenceQueue is the container on which reference objects are enqueued when the garbage collector detects the reachability type specified for the referent.

Summary

Public Constructors
ReferenceQueue()
Constructs a new instance of this class.
Public Methods
synchronized Reference<? extends T> poll()
Returns the next available reference from the queue, removing it in the process.
Reference<? extends T> remove()
Returns the next available reference from the queue, removing it in the process.
synchronized Reference<? extends T> remove(long timeoutMillis)
Returns the next available reference from the queue, removing it in the process.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public ReferenceQueue ()

Added in API level 1

Constructs a new instance of this class.

Public Methods

public synchronized Reference<? extends T> poll ()

Added in API level 1

Returns the next available reference from the queue, removing it in the process. Does not wait for a reference to become available.

Returns
  • the next available reference, or null if no reference is immediately available

public Reference<? extends T> remove ()

Added in API level 1

Returns the next available reference from the queue, removing it in the process. Waits indefinitely for a reference to become available.

Throws
InterruptedException if the blocking call was interrupted

public synchronized Reference<? extends T> remove (long timeoutMillis)

Added in API level 1

Returns the next available reference from the queue, removing it in the process. Waits for a reference to become available or the given timeout period to elapse, whichever happens first.

Parameters
timeoutMillis maximum time to spend waiting for a reference object to become available. A value of 0 results in the method waiting indefinitely.
Returns
  • the next available reference, or null if no reference becomes available within the timeout period
Throws
IllegalArgumentException if timeoutMillis < 0.
InterruptedException if the blocking call was interrupted
No examples for this method.
Frequently called with: [Clear]
Portions of this page are reproduced from work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. The original page is available here.