Android 共享pref编辑器的哪个函数最好调用?

Android 共享pref编辑器的哪个函数最好调用?,android,sharedpreferences,Android,Sharedpreferences,在is中给出一行,您在编辑器中所做的所有更改都是批处理的,在调用commit()或apply()之前不会复制回原始SharedReferences 如果指定为commit()和apply(),那么调用哪个函数最好?如果它是多线程的,并且由多个线程编写,那么commit()是一种方法,因为它是同步的。。或者apply(),它是异步的,因此速度更快,如果写入失败,apply永远不会通知。。。。。有关更多信息,请参见..如果其多线程且由多线程编写,则commit()是执行的方式,因为它已同步。。或者a

在is中给出一行,您在编辑器中所做的所有更改都是批处理的,在调用commit()或apply()之前不会复制回原始SharedReferences


如果指定为commit()和apply(),那么调用哪个函数最好?

如果它是多线程的,并且由多个线程编写,那么
commit()
是一种方法,因为它是同步的。。或者
apply()
,它是异步的,因此速度更快,如果写入失败,apply永远不会通知。。。。。有关更多信息,请参见..

如果其多线程且由多线程编写,则
commit()
是执行的方式,因为它已同步。。或者
apply()
,它是异步的,因此速度更快,如果写入失败,apply永远不会通知。。。。。有关详细信息,请参阅。

提交()返回布尔值,告诉您是否成功,应用()不成功。

提交()返回布尔值,告诉您是否成功,应用()不成功。

apply()
将立即更新共享首选项的内存缓存,然后将更改写入后台线程中的文件系统

commit()
将从调用线程(很可能是UI线程)的UI线程同步写入更改。从UI线程执行文件系统访问通常不是一个好主意,因为存在阻止问题的风险。

apply()
将立即更新共享首选项的内存缓存,然后将更改写入后台线程中的文件系统


commit()
将从调用线程(很可能是UI线程)的UI线程同步写入更改。从UI线程执行文件系统访问通常不是一个好主意,因为存在阻止问题的风险。

这无助于决定哪一个是最佳的,您的问题也没有说明“最佳”的含义。我认为sandy的回答帮助了我,何时使用哪一个函数。没关系。只要你觉得你的问题得到了满意的答案,这个论坛就达到了它的目的:)这无助于决定哪一个是最好的,你的问题也没有具体说明什么是“最好”的意思。我认为桑迪的回答帮助了我,什么时候使用哪个功能。没关系。只要你觉得你的问题得到了满意的答案,这个论坛就达到了它的目的:)