Language

PhantomReference クラス

定義

ファントム参照オブジェクト。これは、コレクターが参照先が再利用される可能性があると判断した後にエンキューされます。

[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
継承
PhantomReference
属性

注釈

ファントム参照オブジェクト。これは、コレクターが参照先が再利用される可能性があると判断した後にエンキューされます。 ファントム参照は、多くの場合、事後クリーンアップ アクションをスケジュールするために使用されます。

ガベージ コレクターが、オブジェクトがファントムに到達可能であると特定の時点で判断したとします。 その時点で、そのオブジェクトへのすべてのファントム参照と、そのオブジェクトが到達可能な他のファントム到達可能なオブジェクトへのすべてのファントム参照がアトミックにクリアされます。 同時または後で、参照キューに登録されている新しくクリアされたファントム参照がエンキューされます。

再利用可能なオブジェクトを確実に保持するために、ファントム参照の参照先を取得できません。ファントム参照の get メソッドは常に nullを返します。

1.2 で追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
PhantomReference(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

PhantomReference(Object, ReferenceQueue)

指定されたオブジェクトを参照し、指定されたキューに登録される新しいファントム参照を作成します。

プロパティ

名前 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
IsEnqueued

この参照オブジェクトが関連付けられたキュー内にあるかどうかをテストします (存在する場合)。

(継承元 Reference)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

ファントム参照オブジェクト。これは、コレクターが参照先が再利用される可能性があると判断した後にエンキューされます。

(継承元 JavaObject)
JniPeerMembers

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

メソッド

名前 説明
Clear()

この参照オブジェクトをクリアします。

(継承元 Reference)
Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

ファントム参照オブジェクト。これは、コレクターが参照先が再利用される可能性があると判断した後にエンキューされます。

(継承元 JavaObject)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

ファントム参照オブジェクト。これは、コレクターが参照先が再利用される可能性があると判断した後にエンキューされます。

(継承元 JavaObject)
Enqueue()

この参照オブジェクトが登録されているキュー (存在する場合) に追加します。

(継承元 Reference)
Equals(Object)

ファントム参照オブジェクト。これは、コレクターが参照先が再利用される可能性があると判断した後にエンキューされます。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
Get()

この参照オブジェクトの参照先を返します。

(継承元 Reference)
GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
JavaFinalize()
古い.

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
RefersTo(Object)

この参照オブジェクトの参照先が objされているかどうかをテストします。

(継承元 Reference)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

ファントム参照オブジェクト。これは、コレクターが参照先が再利用される可能性があると判断した後にエンキューされます。

(継承元 JavaObject)
ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

ファントム参照オブジェクト。これは、コレクターが参照先が再利用される可能性があると判断した後にエンキューされます。

(継承元 JavaObject)
IJavaPeerable.Finalized()

ファントム参照オブジェクト。これは、コレクターが参照先が再利用される可能性があると判断した後にエンキューされます。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

ファントム参照オブジェクト。これは、コレクターが参照先が再利用される可能性があると判断した後にエンキューされます。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

ファントム参照オブジェクト。これは、コレクターが参照先が再利用される可能性があると判断した後にエンキューされます。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

ファントム参照オブジェクト。これは、コレクターが参照先が再利用される可能性があると判断した後にエンキューされます。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

ファントム参照オブジェクト。これは、コレクターが参照先が再利用される可能性があると判断した後にエンキューされます。

(継承元 JavaObject)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

ファントム参照オブジェクト。これは、コレクターが参照先が再利用される可能性があると判断した後にエンキューされます。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象