前言
最近测试反馈,播放音乐的信息断电时偶尔不记忆。
项目中的记忆是使用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一下。
历史上的今天
暂无评论...
随机推荐
Android String根据指定长度进行截取文本
前言在做自定义TextImageView时,画的文本长度存在过长,因此需要跟进ImageView的宽度进行限制Text的宽度,也就引出需要新需求:根据Text文本长度进行裁剪PS: Button 本来是支持图片+Text的组合显示的,但是Glide需要传入ImageView,因此才有TextI...
佚名:人就这么一生,要学会把握自己
人就这么一生,要学会把握自己人这一辈子,有多少无可奈何,邂逅多少恩恩怨怨。可是想到人不就这么一辈子吗,有什么看不开的? 人世间的烦恼忧愁,恩恩怨怨几十年后,不都烟消云散了,还有什么不能化解,不能消气的呢? 人就这么一生,我们不能白来这一遭。所以让我们从快乐...
Windows软件开机多个
前言有时候软件需要多开,只开一个操作不方便,比如Notepad++进行日志查询时,多开一个可以拖入其他更多的文件,因此想是开启多个界面。正文百度和谷歌后发现真的有人这么干,如下。找到一个Notepad++的快捷方式(桌面或启动菜单中)属性,选中"Shortcut"(快捷键) Tab,编辑 T...
jaudiotagger解析ID3第四版
前言前面介绍过《jaudiotagger解析ID3第三版》,然后后面又继续优化。当然,效果跟第三版差不多,但个人觉得写法更好,记录于此,方便自己查阅。阅读jaudiotagger源码进行对之前的代码优化。正文导入jaudiotagger.jar导入lib库/libs/jaudiotag...
余光中:月光光
月光光,月是冰过的砒霜月如砒,月如霜落在谁的伤口上?恐月症和恋月狂迸发的季节,月光光幽灵的太阳,太阳的幽灵死星脸上回光的反映恋月狂和恐月症祟着猫,祟着海祟着苍白的美妇人 太阴下,夜是死亡的边境偷渡梦,偷渡云现代远,古代近恐月症和恋月狂太阳的膺币,铸两面侧像&...
Android ACTION_MEDIA_BUTTON的监听
前言这里记录一下普通应用监听MediaButton的使用。正文直接上代码,下面代码是测试过的。当获取到焦点时,调用registerMediaButton,丢失焦点时unRegisterMediaButton隐藏内容!付费阅读后才能查看!¥3多个隐藏块只需支付一次付费阅读参考文章《...