語言

BluetoothA2dp.Finalize 方法

定義

當垃圾回收器偵測到此實例無法再存取時,會被呼叫。

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

備註

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 子類別會覆寫最終處理系統資源或執行其他清理的方法。

finalize 的一般契約是,當 Java 虛擬機判定除了完成其他物件或類別已完成完成執行緒外,已無法再以任何方式存取該物件時,才會被執行。 finalize 方法可以採取任何動作,包括將該物件重新開放給其他執行緒;然而,最終化的通常目的是在物件被不可逆轉地丟棄前執行清理行動。 例如,代表輸入/輸出連線的物件的 finalize 方法,可能會在物件永久丟棄前,執行明確的 I/O 交易來斷開連線。

類別物件的 finalize 方法不會執行特殊動作;它只是正常返回。 物件的子類別可能會覆寫此定義。

Java 程式語言並不保證哪個執行緒會對任何特定物件呼叫 finalize 方法。 然而,可以保證呼叫 finalize 的執行緒在 finalize 執行時不會持有任何使用者可見的同步鎖。 如果 finalize 方法拋出未捕捉的例外,該例外會被忽略,該物件的最終化即告終止。

在對物件呼叫 finalize 方法後,直到 Java 虛擬機再次判定該物件尚未死亡的執行緒無法再存取該物件,包括其他準備最終定案的物件或類別可能的動作,否則不會再採取進一步行動。 此時該物件可被丟棄。

對於任何特定物件,Java 虛擬機從不重複呼叫 finalize 方法。

finalize 方法拋出的任何例外都會停止該物件的 finalization,但其他方式會被忽略。

Android 參考資料。android.bluetooth.BluetoothA2dp.finalize

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於