我的應用程序中有一箇中央數據庫,有幾個不同的活動需要訪問。Android/Java:從多個活動訪問相同的SQLite數據庫對象
我應該通過使其靜態分享此對象嗎?例如像在初始化數據庫的活動我這樣做:
protected static appDatabase db;
然後其他人可以通過FirstActivity.db
訪問它。
另一種選擇是在需要它的每個活動中創建private appDatabase db
對象,但我懷疑打開多個數據庫對象來訪問相同的存儲數據可能會造成浪費。
但是我不太瞭解java,這就是爲什麼我問 - 爲什麼要這樣做?
謝謝
在我的應用程序犯規此類對象使用靜態的。也許它是首選,但我沒有做到。有趣的是看到你得到的答案。 –
你可以使用單身? – fge
我通常在我的專業環境中使用ContentProvider背後的數據庫,並且發現確保一次只存在一個數據庫連接(使用@fge建議的單例模式)可幫助我處理一些數據一致性問題,並避免「sqlite誤用例外」。我想知道這些參數是如何在非ContentProvider環境中保持的,因此提出了問題。也許回答你的問題的人也可以提到我們可以預期多重性能與單一連接有多大的性能優勢? :D – baske