3
我的應用程序有一些活動和一個服務,可以從同一個SQLite數據庫讀取和寫入。爲了保持它們同步,我使用SQLiteDatabase對象的單例實例。安全關閉數據庫
但是,每過一段時間,我都會通過Android Market控制檯從客戶那裏獲得堆棧跟蹤,並且它顯示某些內容試圖訪問已經關閉的數據庫。
當前,我的活動始終打開並關閉onCreate和onPause(如果isFinishing)數據庫。當一個活動打開數據庫時,它還會切換一個靜態布爾值以防止我的服務關閉它。我的服務(基於AlarmManager定期運行)始終打開,一旦它讀取了需要的信息,就會立即關閉它。但是,如果該活動的靜態布爾值處於打開狀態,該服務將不會關閉數據庫。
我不知道我的洞在哪裏,我是否真的需要一直關閉數據庫,如果我有服務定期使用它。