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