Cleaner Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Cleaner administra un conjunto de referencias de objeto y las acciones de limpieza correspondientes.
[Android.Runtime.Register("java/lang/ref/Cleaner", ApiSince=33, DoNotGenerateAcw=true)]
public sealed class Cleaner : Java.Lang.Object
[<Android.Runtime.Register("java/lang/ref/Cleaner", ApiSince=33, DoNotGenerateAcw=true)>]
type Cleaner = class
inherit Object
- Herencia
- Atributos
Comentarios
Cleaner administra un conjunto de referencias de objeto y las acciones de limpieza correspondientes.
Las acciones de limpieza se #register(Object object, Runnable action) registered ejecutan después de que se notifique al limpiador que el objeto se ha convertido en fantasma accesible. El limpiador usa PhantomReference y ReferenceQueue para recibir una notificación cuando cambia la accesibilidad.
Cada limpiador funciona de forma independiente, administrando las acciones de limpieza pendientes y controlando subprocesos y terminación cuando el limpiador ya no está en uso. El registro de una referencia de objeto y la acción de limpieza correspondiente devuelve un Cleanable Cleanable. El uso más eficaz es invocar explícitamente el Cleanable#clean clean método cuando el objeto está cerrado o ya no es necesario. La acción de limpieza es un objeto Runnable que se va a invocar como máximo una vez cuando el objeto se ha convertido en fantasma accesible a menos que ya se haya limpiado explícitamente. Tenga en cuenta que la acción de limpieza no debe hacer referencia al objeto que se está registrando. Si es así, el objeto no se convertirá en fantasma accesible y la acción de limpieza no se invocará automáticamente.
La ejecución de la acción de limpieza se realiza mediante un subproceso asociado al limpiador. El subproceso se ejecuta hasta que todas las acciones de limpieza registradas se han completado y el recolector de elementos no utilizados reclama el propio limpiador.
El comportamiento de los limpiadores durante System#exit(int) System.exit es específico de la implementación. No se garantiza si se invocan o no acciones de limpieza.
A menos que se indique lo contrario, pasar un null argumento a un constructor o método de esta clase hará que se produzca una java.lang.NullPointerException NullPointerException excepción .
Agregado en 9.
Java documentación para java.lang.ref.Cleaner.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Propiedades
| Nombre | Description |
|---|---|
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniManagedPeerState |
|
| JniPeerMembers |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. (Heredado de Object) |
| ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. (Heredado de Object) |
Métodos
| Nombre | Description |
|---|---|
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
|
| Create() |
Devuelve un nuevo |
| Create(IThreadFactory) |
Devuelve un nuevo |
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| DisposeUnlessReferenced() |
|
| Equals(Object) |
|
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| GetHashCode() |
Devuelve un valor de código hash para el objeto . (Heredado de Object) |
| JavaFinalize() |
Obsoletos.
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
| Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
| NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
| Register(Object, IRunnable) |
Registra un objeto y una acción de limpieza para ejecutarse cuando el objeto se convierte en fantasma accesible. |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
|
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToString() |
Devuelve una representación de cadena del objeto . (Heredado de Object) |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| Wait() |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><> (Heredado de Object) |
| Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IJavaPeerable.Disposed() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniObjectReferenceControlBlock |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |