在Editor is 给出一行您在编辑器中所做的所有更改都是批处理的,并且在您调用 commit() 或 apply() 之前不会复制回原始 SharedPreferences
如果以 commit() 和 apply() 的形式给出,哪个是最好的函数?
在Editor is 给出一行您在编辑器中所做的所有更改都是批处理的,并且在您调用 commit() 或 apply() 之前不会复制回原始 SharedPreferences
如果以 commit() 和 apply() 的形式给出,哪个是最好的函数?
apply()
将立即更新共享首选项的内存缓存,然后在后台线程中将更改写入文件系统。
commit()
将同步写入更改从 UI 线程来自调用线程,这很可能是 UI 线程。从 UI 线程执行文件系统访问通常不是一个好主意,因为存在阻塞问题的风险。
如果它是多线程的并且由多个线程编写,那么commit()
它是同步的方式..或者apply()
是异步的,所以更快并且应用永远不会通知它是否无法写入.....更多信息请参见此处..
Commit() 返回布尔值,告诉它是否成功, apply() 没有。