Cleaner Classe

Definizione

Cleaner gestisce un set di riferimenti agli 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 agli 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 pulitura funziona in modo indipendente, gestendo le azioni di pulizia in sospeso e gestendo threading e terminazione quando il pulitore non è più in uso. La registrazione di un riferimento a un oggetto e l'azione di pulizia corrispondente restituisce un oggetto Cleanable Cleanable. L'uso più efficiente consiste nel richiamare in modo esplicito il Cleanable#clean clean metodo quando l'oggetto viene 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. Il thread viene eseguito fino al completamento di tutte le azioni di pulizia registrate e la pulizia stessa viene recuperata dal Garbage Collector.

Il comportamento delle pulitrici durante System#exit(int) System.exit è specifico dell'implementazione. Non vengono effettuate garanzie relative al fatto che le azioni di pulizia vengano richiamate o meno.

Se non diversamente specificato, il passaggio di un null argomento a un costruttore o a un metodo in questa classe genererà un'eccezione java.lang.NullPointerException NullPointerException .

Aggiunta in 9.

per java.lang.ref.Cleaner.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Proprietà

Nome Descrizione
Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
JniIdentityHashCode

Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità.

(Ereditato da Object)
JniManagedPeerState

Cleaner gestisce un set di riferimenti agli oggetti e le azioni di pulizia corrispondenti.

(Ereditato da JavaObject)
JniPeerMembers

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

PeerReference

Ottiene il riferimento all'oggetto JNI per questo peer Java.

(Ereditato da Object)
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

Nome Descrizione
Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Cleaner gestisce un set di riferimenti agli oggetti e le azioni di pulizia corrispondenti.

(Ereditato da JavaObject)
Create()

Restituisce un nuovo Cleaneroggetto .

Create(IThreadFactory)

Restituisce un nuovo Cleaner oggetto utilizzando un Thread oggetto dell'oggetto ThreadFactory.

Dispose()

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
Dispose(Boolean)

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
DisposeUnlessReferenced()

Cleaner gestisce un set di riferimenti agli oggetti e le azioni di pulizia corrispondenti.

(Ereditato da JavaObject)
Equals(Object)

Cleaner gestisce un set di riferimenti agli oggetti e le azioni di pulizia corrispondenti.

(Ereditato da JavaObject)
Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
GetHashCode()

Restituisce un valore di codice hash per l'oggetto .

(Ereditato da Object)
JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
Register(Object, IRunnable)

Registra un oggetto e un'azione di pulizia da eseguire quando l'oggetto diventa raggiungibile fantasma.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Cleaner gestisce un set di riferimenti agli oggetti e le azioni di pulizia corrispondenti.

(Ereditato da JavaObject)
ToArray<T>()

Crea una matrice gestita da questo wrapper di matrice Java.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa dell'oggetto .

(Ereditato da Object)
UnregisterFromRuntime()

Annulla la registrazione di questo Java peer dal runtime di interoperabilità.

(Ereditato da Object)
Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> 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

Nome Descrizione
IJavaPeerable.Disposed()

Cleaner gestisce un set di riferimenti agli oggetti e le azioni di pulizia corrispondenti.

(Ereditato da JavaObject)
IJavaPeerable.Finalized()

Cleaner gestisce un set di riferimenti agli oggetti e le azioni di pulizia corrispondenti.

(Ereditato da JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Cleaner gestisce un set di riferimenti agli oggetti e le azioni di pulizia corrispondenti.

(Ereditato da JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Cleaner gestisce un set di riferimenti agli oggetti e le azioni di pulizia corrispondenti.

(Ereditato da JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Cleaner gestisce un set di riferimenti agli oggetti e le azioni di pulizia corrispondenti.

(Ereditato da JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Cleaner gestisce un set di riferimenti agli oggetti e le azioni di pulizia corrispondenti.

(Ereditato da JavaObject)

Metodi di estensione

Nome Descrizione
GetJniTypeName(IJavaPeerable)

Ottiene il nome JNI del tipo dell'istanza selfdi .

JavaAs<TResult>(IJavaPeerable)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Cleaner gestisce un set di riferimenti agli oggetti e le azioni di pulizia corrispondenti.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

Si applica a