SharedPreferences.Editor.commit()如何无法成功编写以及如何处理它?

时间:2015-10-07 12:35:08

标签: android sharedpreferences

commit()返回一个值,因此必须有可能无法成功写入。如果写出我们的价值绝对至关重要,那么如果返回值为假,我们该怎么办?什么条件会导致它无法成功写入?

1 个答案:

答案 0 :(得分:1)

根据文件

  

请注意,当两个编辑器同时修改首选项时,最后一个调用commit会获胜。如果您不关心返回值并且从应用程序的主线程中使用此值,请考虑使用apply()代替。

因此,如果它返回false,则意味着您有另一个线程尝试提交事务,只是让您的共享首选项访问线程安全,并且您将确保它始终返回true(并记住共享首选项不支持多个处理)