导航号,我的单页导航
目录

前言

最近测试反馈,播放音乐的信息断电时偶尔不记忆。

项目中的记忆是使用sharedpreferences的,sharedpreferences是以xml文件保存,保存的位置在:

/data/data/[包名]/shared_prefs

测试反馈的关键字[断电]、[偶尔]和[不记忆],也就是说这问题是概率性的出现。

参考网友说的,修改后就没有出现问题了。

记录于此,方便自己查一下。

正文

引用《sharedpreferences同步问题》中[sharedpreference掉电异常]内容

使用sharedpreference保存文件后掉电会出现异常,是由于sharedpreference在保存记录的时候会生成一个bak文件,当保存完成后会删除这个文件,但是删除的时机不确定,这个时候掉电会导致文件没有删除,再次开机后使用sharedpreference时会将源文件删除,将bak文件替换成源文件,就会出现文件没有保存上的情况

上面原文作者说会存在bak文件,这个我查看目录是没看到这个bak文件。

我们知道,操作写入文件内容时,不会时时刻刻的flush到文件中,这样效率就低了,因此都是先保存到缓存,最后保存。

还有数据库也是这样

external.db
external.db-shm
external.db-wal

当.db-shw和.db-wal缓存到一定的大小后,就会写入到.db里面去。

因此,为了解决[sharedpreference掉电异常]问题,我们可以保存SharedPreferences数据后,主动sync一下。

隐藏内容!
付费阅读后才能查看!
2
3
多个隐藏块只需支付一次

版权声明 1、 本站名称 91易搜
2、 本站网址 https://www.91es.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权请留言
4、 本站禁止发布或转载任何违法的相关信息,如有发现请向站长举报
导航号,我的单页导航

暂无评论

评论审核已启用。您的评论可能需要一段时间后才能被显示。

暂无评论...