如何从SharedPreferences中删除一些键/值对?我已经把我和我从prefs中删除了.
Yas*_*mar 201
SharedPreferences mySPrefs = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = mySPrefs.edit();
editor.remove(key);
editor.apply();
Run Code Online (Sandbox Code Playgroud)
这里的编辑器是sharedPreferences编辑器.
SBe*_*413 12
需要注意的是,除非您计划使用commit()调用的返回值执行某些操作,否则绝对没有理由使用同步commit()调用而不是异步apply()调用.
请记住,如果您从main/UI线程调用它,则UI将被阻塞,直到commit()完成.这可能需要大约100毫秒,因为申请大约需要5毫秒.这似乎并不多,但如果在整个应用程序中不断完成,它肯定会加起来.
所以,除非你打算做这样的事情,否则希望在一个单独的线程上:
editor.remove(String key);
boolean success = editor.commit();
if (!success) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
你应该这样做:
editor.remove(String key);
editor.apply();
Run Code Online (Sandbox Code Playgroud)
这很简单:
private SharedPreferences sharedPreferences() {
return PreferenceManager.getDefaultSharedPreferences(mContext);
}
public void clearSharedPreferences() {
sharedPreferences()
.edit()
.remove(SOME_KEY_1)
.remove(SOME_KEY_2)
.remove(SOME_KEY_3)
.apply();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
50158 次 |
最近记录: |