我想停止創建.db-shm和.db-wal檔案。我只想在我的資料目錄下的資料庫檔案夾中創建.db檔案。
一些較舊的設備產生.db-shm和.db-wal,而一些最新的設備產生.db-journal。
當我試圖備份/恢復我的資料庫檔案時,這些東西造成了問題。
我想知道,在安卓系統中是否可以通過代碼來實作?
uj5u.com熱心網友回復:
我想知道是否可以通過安卓系統的代碼來實作?
是的,它是可能的。
您可以通過使用 SQLiteDatabase 的 disableWriteAheadLogging 方法來強制執行日志模式(這使用了 -journal 檔案,但在日志模式下,附加檔案包含所做更改的日志,所以不需要該檔案(僅用于回滾))。
你也可以使用SQLite的journal_mode PRAGMA(如果使用SQLiteOpenHelper的子類,我還是建議在onOpen方法中這樣做。
另一個選擇是保留WAL模式,但要確保資料庫被完全檢查點化。關閉資料庫應該完全檢查點資料庫,然后如果-wal檔案仍然存在,它應該是空的,在這種情況下,它不需要。
- 我建議這是個更好的選擇。它可以滿足WAL或JOURNAL模式和一個單一的備份檔案。
還有一個選項是保存-wal和-shm檔案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/327112.html
標籤:
