在Android共享首选项中提交和应用之间的区别
2022-09-02 01:05:33
共享首选项用于在 Android 中保存应用程序数据。
commit()
,两者都用于保存共享首选项中的更改。apply()
正如安卓图书馆中提到的:
public abstarct void apply():
与提交()不同,commit()将其首选项同步写出到持久性存储,apply()立即将其更改提交到内存中的共享首选项,但启动异步提交到磁盘,并且您不会收到任何失败的通知。如果此 SharedPreferences 上的另一个编辑器在 apply() 仍处于未完成状态时执行常规 commit(),则 commit() 将阻塞,直到所有异步提交以及提交本身都完成。
public abstract boolean commit ():
将首选项更改从此编辑器提交回它正在编辑的共享首选项对象。这会以原子方式执行请求的修改,替换当前共享首选项中的任何内容。
这是否意味着 与 相比,所做的更改是即时的?哪一个更好?commit()
apply()
如果我需要在下一个即时活动中使用相同的共享首选项值,我应该使用哪一个?正如我所看到的,如果更新了首选项的值,则在重新启动应用程序之前,它不会反映出来。