How to remove some key/value pair from SharedPreferences? How to remove some key/value pair from SharedPreferences? android android

How to remove some key/value pair from SharedPreferences?


SharedPreferences mySPrefs = PreferenceManager.getDefaultSharedPreferences(this);SharedPreferences.Editor editor = mySPrefs.edit();editor.remove(key);editor.apply();

Here editor is the sharedPreferences editor.


It is important to note that, unless you're planning on doing something with the return value of the commit() call, there is absolutely no reason for using the synchronous commit() call instead of the asynchronous apply() call.

Keep in mind that if you're calling this from the main/UI thread, the UI is blocked until the commit() has completed. This can take upwards of around 100ms as apposed to about 5ms for the apply. That may not seem like much, but if done continually throughout an application, it will certainly add up.

So, unless you're planning on doing something like this, hopefully on a separate thread:

editor.remove(String key); boolean success = editor.commit();if (!success) {     // do something }

You should instead be doing this:

editor.remove(String key); editor.apply();


It's very simple:

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();}