ISharedPreferencesEditor.Apply Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Commit your preferences changes back from this Editor to the
SharedPreferences
object it is editing.
[Android.Runtime.Register("apply", "()V", "GetApplyHandler:Android.Content.ISharedPreferencesEditorInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public void Apply ();
[<Android.Runtime.Register("apply", "()V", "GetApplyHandler:Android.Content.ISharedPreferencesEditorInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Apply : unit -> unit
- Attributes
Remarks
Commit your preferences changes back from this Editor to the SharedPreferences
object it is editing. This atomically performs the requested modifications, replacing whatever is currently in the SharedPreferences.
Note that when two editors are modifying preferences at the same time, the last one to call apply wins.
Unlike #commit
, which writes its preferences out to persistent storage synchronously, #apply
commits its changes to the in-memory SharedPreferences
immediately but starts an asynchronous commit to disk and you won't be notified of any failures. If another editor on this SharedPreferences
does a regular #commit
while a #apply
is still outstanding, the #commit
will block until all async commits are completed as well as the commit itself.
As SharedPreferences
instances are singletons within a process, it's safe to replace any instance of #commit
with #apply
if you were already ignoring the return value.
You don't need to worry about Android component lifecycles and their interaction with apply()
writing to disk. The framework makes sure in-flight disk writes from apply()
complete before switching states.
<p class='note'>The SharedPreferences.Editor interface isn't expected to be implemented directly. However, if you previously did implement it and are now getting errors about missing apply()
, you can simply call #commit
from apply()
.
Java documentation for android.content.SharedPreferences.Editor.apply()
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.