Android 共享首选项有时会丢失什么吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (63)

我的应用程序的一些用户抱怨说,有时(以随机方式),我的应用程序的设置正在恢复到默认状态(通常在电话重启后)。我从来没有设法重现这个问题。我认为这是由于在我的应用程序的许多地方我有一段代码调用共享首选项编辑器并提交更改 - 如果我尝试对数据库提交多个更改,是否可以解决共享首选项文件的问题?相同的首选项文件在同一时间出现吗?

提问于
用户回答回答于

SPs被设计用于存储关于您的应用程序的小部分信息 - 用户设置,如音量,音乐是否在播放等等。

SP不适用于存储经常更改和/或大量数据的数据,尝试执行此操作是一个糟糕的主意。

请记住,SP实际上只是一个XML文件 - 你每次更改它时都会产生解析和重新创建的开销!

在多个线程中更新SP的应用程序的想法有点疯狂我认为 -你需要一种更好的方式来管理和存储您正在保存的数据 - 它将以多种方式为你带来回报。

用户回答回答于

根据SharedPreferences.Editor文档内容:

请注意,当两个编辑器同时修改首选项时,最后一个调用commit的成功。

由此我了解到,多个同时提交不会消除您的首选项,但如果Editor同时使用多个实例,则可能并非你尝试写入的所有更改最终都会写入。

扫码关注云+社区

领取腾讯云代金券