Cleaner クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Cleaner
は、オブジェクト参照と対応するクリーニング アクションのセットを管理します。
[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
- 継承
- 属性
注釈
Cleaner
は、オブジェクト参照と対応するクリーニング アクションのセットを管理します。
クリーニング アクションは、オブジェクトが #register(Object object, Runnable action) registered
ファントムに到達可能になったことがクリーナーに通知された後に実行されます。 クリーナーは、 と ReferenceQueue
を使用PhantomReference
して、到達可能性が変化したときに通知を受け取ります。
各クリーナーは独立して動作し、保留中のクリーニングアクションを管理し、クリーナーが使用されなくなったときにスレッドと終了を処理します。 オブジェクト参照と対応するクリーニング アクションを登録すると、 が Cleanable Cleanable
返されます。 最も効率的な使用は、オブジェクトが閉じているか、不要になったときに メソッドを明示的に呼び出 Cleanable#clean clean
す方法です。 クリーニング アクションは、オブジェクトが Runnable
既に明示的にクリーンアップされていない限り、ファントムに到達可能になったときに、最大で 1 回呼び出される です。 クリーニング アクションは、登録されているオブジェクトを参照しないように注意してください。 その場合、オブジェクトはファントムに到達できなくなり、クリーニング アクションは自動的に呼び出されません。
クリーニング アクションの実行は、クリーナーに関連付けられているスレッドによって実行されます。 クリーニング アクションによってスローされるすべての例外は無視されます。 クリーナーやその他のクリーニングアクションは、クリーニングアクションの例外の影響を受けません。 スレッドは、登録されているすべてのクリーニング アクションが完了し、クリーナー自体がガベージ コレクターによって再利用されるまで実行されます。
中 System#exit(int) System.exit
のクリーナーの動作は実装固有です。 クリーニング アクションが呼び出されるかどうかに関して、保証は行われません。
特に明記されていない限り、このクラスのコンストラクターまたはメソッドに引数を渡 null
すと、 が java.lang.NullPointerException NullPointerException
スローされます。
9 に追加されました。
の Java ドキュメント java.lang.ref.Cleaner
。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
プロパティ
Class |
この |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
JniIdentityHashCode |
|
JniPeerMembers |
|
PeerReference |
|
ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。 (継承元 Object) |
ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。 (継承元 Object) |
メソッド
Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
Create() |
新しい |
Create(IThreadFactory) |
から を使用して新しい |
Dispose() |
|
Dispose(Boolean) |
|
Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
JavaFinalize() |
ガベージ コレクションがオブジェクトへの参照がなくなったと判断したときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドをウェイクアップします。 (継承元 Object) |
NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドをウェイクアップします。 (継承元 Object) |
Register(Object, IRunnable) |
|
SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
ToArray<T>() |
|
ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
UnregisterFromRuntime() |
|
Wait() |
現在のスレッドが起動するまで待機します。通常<>は、通知</em> または <em>割り込み</em によって待機します>。 (継承元 Object) |
Wait(Int64) |
現在のスレッドが起動するまで待機します。通常<>は、通知</em> または>< em 割り込み</em>、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが起動するまで待機します。通常<>は、通知</em> または>< em 割り込み</em>、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
IJavaPeerable.Disposed() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|