在Editor处给出一行是您在编辑器中进行的所有更改都是批处理的,并且在您调用commit()或apply() <之前不会将其复制回原始SharedPreferences / p>
如果以commit()和apply()形式给出,哪个是最好的函数?
答案 0 :(得分:4)
apply()
将立即更新共享首选项的内存缓存,然后在后台线程中将更改写入文件系统。
commit()
将从调用线程的UI-thread 中同步编写更改,这很可能是UI线程。从UI线程执行文件系统访问通常不是一个好主意,因为存在阻止问题的风险。
答案 1 :(得分:1)
如果它的多线程并由多个线程写入,那么commit()
是自同步的方式..或者是apply()
这是异步的,所以更快和应用从不通知它是否写入失败.. ...请参阅here了解更多信息..
答案 2 :(得分:0)
Commit()返回boolean值,告诉它是否成功,apply()不成功。