2
我有一個處理所有數據庫訪問的單例類。在每個查詢中,我打開數據庫,查詢完成後關閉數據庫。這在我看來造成了很多開銷,因爲我的SQLiteOpenHelper可以保持數據庫連接爲我打開。我的問題是:如果我始終保持數據庫的打開狀態,會有什麼影響?在整個應用程序生命週期中打開數據庫
我有一個處理所有數據庫訪問的單例類。在每個查詢中,我打開數據庫,查詢完成後關閉數據庫。這在我看來造成了很多開銷,因爲我的SQLiteOpenHelper可以保持數據庫連接爲我打開。我的問題是:如果我始終保持數據庫的打開狀態,會有什麼影響?在整個應用程序生命週期中打開數據庫
Here我試着回答類似的問題。我認爲當你打開和關閉所有請求的數據庫時,會有巨大的開銷。所以也許,正如在評論中提出的那樣,應該在應用程序啓動時打開數據庫,並在應用程序被銷燬時關閉它。至於我,我通常在活動的onResume方法中打開數據庫,我不知道它是否正確。
只是沒有大多數開發人員喜歡在應用程序啓動時關閉,並在完成時關閉 – ingsaurabh 2012-01-11 10:25:06
爲什麼不使用ContentProvider ... AFAIK CP的一個實例是爲應用程序實例創建的(因此它是一個實例,直到應用程序即使你使用多個Activites和/或服務和/或Recivers也會被操作系統殺死) – Selvin 2012-01-11 10:28:03
@ingsaurabh因爲我沒有正確地關閉數據庫,所以不要冒着泄漏的風險。 – HenrikT 2012-01-11 13:23:58