SharedPreferences.Editor的commit VS apply

by:leotse

在Android开发中,我们经常会使用SharedPreferences对一些指定数据类型的数据进行持久化存储。

当我们需要写入数据时,我们需要借助于SharedPreferences.Editor进行数据的写操作。

1
2
3
SharedPreferences.Editor editor = getSharedPreferences("test", MODE_PRIVATE).edit();
editor.putString("key", "value");
editor.commit();

执行完这段代码,我们就能将key-value这组数据存储在/data/data/your_package_name/shared_prefs/目录下。

我们注意到,在这里我们使用commit()进行数据的提交,实际上,SharedPreferences还提供了另一个方法apply()来提交需要保存的数据,那么这两者有什么区别呢?