sharedPreferencesEditor.putStringSet("Saved", set).apply();
sharedPreferencesEditor.commit();
if(sharedPreferencesEditor.commit()){
Toast.makeText(BankActivity.this, "Saved Successfully", Toast.LENGTH_SHORT).show();
}
在共享首选项中同时使用 apply() 和 commit() 方法来定期更改文本是否更好?
- commit() 是瞬时的,但执行磁盘写入。
- commit() - 返回布尔值。
- commit() 如果保存有效,则返回 true,否则返回 false 并阻塞UI 线程,直到完成操作。
- 添加 apply() 是因为 android 开发团队注意到大多数人都没有注意到了返回值,因此应用速度更快。
- apply() 是异步的。
不,你应该其中一个。这真的取决于你在做什么,但一般来说你想使用 .apply()
.
.apply()
稍后会在后台应用您的更改;而.commit()
将立即在当前线程上应用您的更改。
因此,如果您需要立即保存某些内容,并且不介意阻止UI线程,则可以使用 .commit()
,但.apply()
在95%的情况下会更好地工作。