PhantomReference Classe

Definizione

Gli oggetti riferimento fantasma, che vengono accodati dopo che l'agente di raccolta determina che i relativi riferimenti potrebbero altrimenti essere recuperati.

[Android.Runtime.Register("java/lang/ref/PhantomReference", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public class PhantomReference : Java.Lang.Ref.Reference
[<Android.Runtime.Register("java/lang/ref/PhantomReference", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
type PhantomReference = class
    inherit Reference
Ereditarietà
PhantomReference
Attributi

Commenti

Gli oggetti riferimento fantasma, che vengono accodati dopo che l'agente di raccolta determina che i relativi riferimenti potrebbero altrimenti essere recuperati. I riferimenti fantasma vengono spesso usati per pianificare le azioni di pulizia post-mortem.

Si supponga che il Garbage Collector determini in un determinato momento che un oggetto sia raggiungibile tramite fantasma. In quel momento cancella in modo atomico tutti i riferimenti fantasma a tale oggetto e tutti i riferimenti fantasma a qualsiasi altro oggetto fantasma raggiungibile da cui tale oggetto è raggiungibile. Allo stesso tempo o in un secondo momento, accoderà i riferimenti fantasma appena cancellati registrati con code di riferimento.

Per garantire che un oggetto recuperabile rimanga così, il referenziale di un riferimento fantasma potrebbe non essere recuperato: il get metodo di un riferimento fantasma restituisce nullsempre .

Aggiunta nella versione 1.2.

per java.lang.ref.PhantomReference.

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.

Costruttori

Nome Descrizione
PhantomReference(IntPtr, JniHandleOwnership)

Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

PhantomReference(Object, ReferenceQueue)

Crea un nuovo riferimento fantasma che fa riferimento all'oggetto specificato e viene registrato con la coda specificata.

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)
IsEnqueued

Verifica se questo oggetto di riferimento si trova nella coda associata, se presente.

(Ereditato da Reference)
JniIdentityHashCode

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

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

ThresholdType

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

Metodi

Nome Descrizione
Clear()

Cancella questo oggetto di riferimento.

(Ereditato da Reference)
Clone()

Crea e restituisce una copia di questo oggetto.

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

Aggiunge questo oggetto riferimento alla coda con cui è registrato, se presente.

(Ereditato da Reference)
Equals(Object)

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

(Ereditato da Object)
Get()

Restituisce il referenziale dell'oggetto di riferimento.

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

Verifica se il referenziale di questo oggetto di riferimento è obj.

(Ereditato da Reference)
SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

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

Notifica al runtime di interoperabilità che il peer gestito è stato eliminato.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Rilascia questo Java peer a meno che non venga conservato da un altro riferimento gestito.

(Ereditato da Object)
IJavaPeerable.Finalized()

Notifica al runtime di interoperabilità che il peer gestito è stato finalizzato.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Ottiene lo stato che descrive la relazione tra questo peer gestito e il relativo riferimento JNI.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Imposta il codice hash dell'identità di interoperabilità per questo Java peer.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Imposta lo stato peer gestito e JNI per questo peer Java.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Imposta il riferimento all'oggetto JNI usato da questo peer gestito.

(Ereditato da Object)

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)

Gli oggetti riferimento fantasma, che vengono accodati dopo che l'agente di raccolta determina che i relativi riferimenti potrebbero altrimenti essere recuperati.

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

Si applica a