PhantomReference 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.
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à
- 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 |
| 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 è |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| 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 |