Language

BluetoothA2dp.Finalize メソッド

定義

このインスタンスに到達できなくなったことがガベージ コレクターによって検出されたときに呼び出されます。

[Android.Runtime.Register("finalize", "()V", "")]
~BluetoothA2dp();
[<Android.Runtime.Register("finalize", "()V", "")>]
override this.Finalize : unit -> unit
属性

注釈

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 サブクラスは、システム リソースを破棄したり、他のクリーンアップを実行したりするために、finalize メソッドをオーバーライドします。

finalize の一般的なコントラクトは、Java仮想マシンが、終了する準備ができている他のオブジェクトまたはクラスの最終処理によって実行されたアクションの結果を除き、まだ終了していないスレッドによってこのオブジェクトにアクセスできる手段がなくなった場合に呼び出されます。 finalize メソッドは、他のスレッドがこのオブジェクトを再び使用できるようにするなど、任意のアクションを実行できます。ただし、最終処理の通常の目的は、オブジェクトが取り消し不能に破棄される前にクリーンアップ アクションを実行することです。 たとえば、入出力接続を表すオブジェクトの finalize メソッドは、明示的な I/O トランザクションを実行して、オブジェクトが完全に破棄される前に接続を中断することがあります。

Object クラスの finalize メソッドは、特別なアクションを実行しません。それは単に正常に返されます。 Object のサブクラスは、この定義をオーバーライドできます。

Javaプログラミング言語では、特定のオブジェクトに対して finalize メソッドを呼び出すスレッドは保証されません。 ただし、ファイナライズを呼び出すスレッドは、最終処理が呼び出されたときにユーザーに表示される同期ロックを保持しないことが保証されます。 finalize メソッドによってキャッチされない例外がスローされた場合、例外は無視され、そのオブジェクトの最終処理が終了します。

オブジェクトに対して finalize メソッドが呼び出された後、Java仮想マシンが、まだ終了していないスレッドによってこのオブジェクトにアクセスできる手段がなくなったことが再び判断されるまで、それ以上のアクションは実行されません。これには、最終処理の準備ができている他のオブジェクトまたはクラスによる可能なアクションも含まれます。 その時点で、オブジェクトは破棄される可能性があります。

finalize メソッドは、特定のオブジェクトのJava仮想マシンによって複数回呼び出されることはありません。

finalize メソッドによってスローされた例外により、このオブジェクトの最終処理は停止されますが、それ以外の場合は無視されます。

android.bluetooth.BluetoothA2dp.finalizeの Android リファレンス。

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

適用対象