RoomDatabase重启断电数据丢失
生活随笔
收集整理的這篇文章主要介紹了
RoomDatabase重启断电数据丢失
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
????????Room 在SQLite上提供了一個抽象層,以便在充分利用SQLite的強大功能的同時,能夠流暢地訪問數據庫。
????????Android終端立即斷電重啟時,SQ寫入磁盤會有延時,導致數據丟失。
????????Linux/Unix系統中,在文件或數據處理過程中一般先放到內存緩沖區中,等到適當的時候再寫入磁盤,以提高系統的運行效率。
? ? ? ? 在插入/更新數據庫后,獲取數據庫地址File句柄,刷新一下。
public void DBSync() throws IOException {String path = mDataBase.getOpenHelper().getWritableDatabase().getPath();FileOutputStream fos = null;try {fos = new FileOutputStream(path);fos.flush();//將數據同步到達物理存儲設備FileDescriptor fd = fos.getFD();fd.sync();} catch(Exception e) {e.printStackTrace();} finally {if(fos != null)fos.close();} }總結
以上是生活随笔為你收集整理的RoomDatabase重启断电数据丢失的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: webservice 缺少根元素_知识点
- 下一篇: 七种常见的电子邮件安全协议简析