Cleaner Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Cleaner
gestisce un set di riferimenti a oggetti e le azioni di pulizia corrispondenti.
[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
- Ereditarietà
- Attributi
Commenti
Cleaner
gestisce un set di riferimenti a oggetti e le azioni di pulizia corrispondenti.
Le azioni di pulizia devono #register(Object object, Runnable action) registered
essere eseguite dopo che il pulitore riceve una notifica che l'oggetto è diventato raggiungibile fantasma. Il pulitore usa PhantomReference
e ReferenceQueue
per ricevere una notifica quando cambia la raggiungibilità.
Ogni pulitore opera in modo indipendente, gestione delle azioni di pulizia in sospeso e gestione del threading e della terminazione quando il pulitore non è più in uso. La registrazione di un riferimento a un oggetto e l'azione di pulizia corrispondente restituisce un Cleanable Cleanable
oggetto . L'uso più efficiente consiste nell'richiamare in modo esplicito il metodo quando l'oggetto Cleanable#clean clean
è chiuso o non è più necessario. L'azione di pulizia è un Runnable
oggetto da richiamare al massimo una volta quando l'oggetto è diventato fantasma raggiungibile a meno che non sia già stato pulito in modo esplicito. Si noti che l'azione di pulizia non deve fare riferimento all'oggetto registrato. In tal caso, l'oggetto non diventerà raggiungibile fantasma e l'azione di pulizia non verrà richiamata automaticamente.
L'esecuzione dell'azione di pulizia viene eseguita da un thread associato al pulitore. Tutte le eccezioni generate dall'azione di pulizia vengono ignorate. Le azioni di pulizia e altre azioni di pulizia non sono interessate dalle eccezioni in un'azione di pulizia. Il thread viene eseguito fino a quando tutte le azioni di pulizia registrate non sono state completate e la pulizia stessa viene recuperata dal Garbage Collector.
Il comportamento dei pulitori durante System#exit(int) System.exit
l'implementazione è specifico. Non vengono fornite garanzie relative al fatto che le azioni di pulizia vengano richiamate o meno.
Se non diversamente indicato, il passaggio di un argomento a un costruttore o a un null
metodo in questa classe genererà un java.lang.NullPointerException NullPointerException
oggetto da generare.
Aggiunto in 9.
Documentazione Java per java.lang.ref.Cleaner
.
Le parti di questa pagina sono modifiche in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .
Proprietà
Class |
Restituisce la classe di runtime di questo |
Handle |
Handle all'istanza di Android sottostante. (Ereditato da Object) |
JniIdentityHashCode |
|
JniPeerMembers |
|
PeerReference |
|
ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Object) |
ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Object) |
Metodi
Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
Create() |
Restituisce un nuovo oggetto |
Create(IThreadFactory) |
Restituisce un nuovo |
Dispose() |
|
Dispose(Boolean) |
|
Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
JavaFinalize() |
Chiamato dal Garbage Collector in un oggetto quando Garbage Collection determina che non sono presenti più riferimenti all'oggetto. (Ereditato da Object) |
Notify() |
Riattiva un singolo thread in attesa del monitoraggio dell'oggetto. (Ereditato da Object) |
NotifyAll() |
Riattiva tutti i thread in attesa del monitoraggio dell'oggetto. (Ereditato da Object) |
Register(Object, IRunnable) |
|
SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
ToArray<T>() |
|
ToString() |
Restituisce una rappresentazione in formato stringa dell'oggetto. (Ereditato da Object) |
UnregisterFromRuntime() |
|
Wait() |
Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere eseguendo>una notifica</em o <em interrotto</>em>>.< (Ereditato da Object) |
Wait(Int64) |
Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale. (Ereditato da Object) |
Wait(Int64, Int32) |
Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IJavaPeerable.Disposed() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione dei tipi controllati dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|