gpt4 book ai didi

android - 为什么共享首选项提交失败?

转载 作者:行者123 更新时间:2023-11-29 17:46:07 25 4
gpt4 key购买 nike

在我的 android 服务中,我注册了当前用户的操作,该操作将字符串值写入默认共享首选项。同时,我在服务中还有另一个功能,可以将哈希集写入共享首选项。我在这两种情况下都使用了提交。

关于用户当前操作:

PreferenceManager.getDefaultSharedPreferences(getBaseContext()).edit().putString("abc", udata).commit();

关于另一个函数:

if(PreferenceManager.getDefaultSharedPreferences(getBaseContext()).edit().putStringSet("si",ssetdata).commit())

为什么有时候二次写入失败?是不是因为

“请注意,当两个编辑器同时修改首选项时,最后一个调用提交的将获胜。”

最佳答案

使用第一个申请并提交第二个可能会有所帮助,如下所示:

与 commit() 不同,commit() 会将其首选项同步写入持久存储,apply() 会立即将其更改提交到内存中的 SharedPreferences,但会开始异步提交到磁盘,您不会收到任何通知失败。如果此 SharedPreferences 上的另一个编辑器执行常规 commit() 而 apply() 仍未完成,则 commit() 将阻塞,直到完成所有异步提交以及提交本身。

Read more here

关于android - 为什么共享首选项提交失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26543917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com