首先来看apply方法在官方文档中的解释:
SharedPreferences.Editor中的apply方法与commit方法区别

SharedPreferences.Editor中的apply方法与commit方法区别
来比较一下两者的区别:

  1. apply无返回值,而commit会返回一个boolean类型值来表示数据是否被成功持久化存储。
  2. apply立刻将更改提交到内存中SharedPreferences,但是会启动对磁盘的异步提交;commit是同步的提交到磁盘。这样一来,在有多个Editor需要提交时,它们会等待正在处理的commit完成后再操作,效率较低。

由于在进程中,SharedPreferences是单例,因此如果已经忽略了返回值,则可以安全地将commit替换为apply。

相关文章: