我的Android應用程序經常記錄錯誤,抱怨說我未能發佈我的語句,遊標和數據庫。實際上,我在使用它們的代碼的最後{}塊中明確地釋放了所有遊標,並且在包含它們的類的finalize()方法中關閉了我的數據庫。Android:我真的需要擔心關閉SQLite數據庫實例嗎?
我的應用程序的結構使我很難在數據庫對象(除了終結器)上顯式調用close()方法,因爲例如,使用數據庫的類不是Activity類但可能是一個由Activity間接使用的類。所以這個類本身並不知道它最終所附的活動何時被銷燬。
我需要關注這個嗎?我是否通過不明確地關閉數據庫實例來泄漏某些資源?有沒有什麼危險會導致某些東西無法寫入文件? Android上的SQLite實現是否寫入緩存?我可以關閉它或強制同步嗎?
什麼是Android VM的終結者策略 - 它們是否能夠最終運行?
弗蘭克
是的,我通常會清理東西,但在這種情況下,我將數據庫功能添加到已存在的東西。對於在非gc環境中保證的析構函數調用,有些話要說。清理的好地方。 – 2011-04-21 20:26:35