Diferencia entre confirmar y aplicar en Android SharedPreferences [duplicar]

Esta pregunta ya tiene una respuesta aquí:

¿Cuál es la diferencia entre commit () y apply () en Shared Preference 7 respuestas

SharedPreferences se utilizan para guardar los datos de la aplicación en Android.

commit() yapply() ambos se utilizan para guardar los cambios en las preferencias compartidas.

Como se menciona en la Biblioteca de Android:

public abstarct void apply():

A diferencia de commit (), que escribe sus preferencias en el almacenamiento persistente sincrónicamente, apply () confirma sus cambios en SharedPreferences en la memoria de forma inmediata, pero inicia una confirmación asíncrona en el disco y no se le notificará ningún error. Si otro editor en este SharedPreferences realiza un commit regular () mientras un apply () aún está pendiente, el commit () se bloqueará hasta que se completen todos los commits asíncronos, así como el commit en sí mismo.

public abstract boolean commit ():

Commitir sus cambios de preferencias de este Editor al objeto SharedPreferences que está editando. Esto realiza atómicamente las modificaciones solicitadas, reemplazando lo que esté actualmente en SharedPreferences.

¿Significa esto que los cambios realizados porcommit() son instantáneos en comparación conapply()? ¿Cuál es mejor

Si necesito usar el mismo valor de preferencia compartida en la próxima actividad inmediata, ¿cuál debo usar? Como he visto si el valor de Preferencia se actualiza, no se refleja hasta que se reinicia la aplicación.

Respuestas a la pregunta(2)

Su respuesta a la pregunta