Difference Между фиксацией и применением в Android SharedPreferences [duplicate]

На этот вопрос уже есть ответ:

В чем разница между commit () и apply () в общих настройках 7 ответов

SharedPreferences используются для сохранения данных приложения в Android.

commit() а такжеapply() оба используются для сохранения изменений в общих настройках.

Как уже упоминалось в библиотеке Android:

public abstarct void apply():

Unlike commit (), который синхронно записывает свои настройки в постоянное хранилище, apply () немедленно фиксирует свои изменения в SharedPreferences в памяти, но запускает асинхронную фиксацию на диск, и вы не будете уведомлены о каких-либо сбоях. Если другой редактор в этой SharedPreferences выполняет обычную commit (), а apply () еще не выполнено, commit () будет блокироваться до тех пор, пока не будут выполнены все асинхронные коммиты, а также сам коммит.

public abstract boolean commit ():

Принять изменения ваших предпочтений обратно из этого редактора в объект SharedPreferences, который он редактирует. Это атомарно выполняет запрошенные модификации, заменяя все, что в настоящее время находится в SharedPreferences.

Означает ли это, что изменения, сделанныеcommit() мгновенные по сравнению сapply()? Какой из них лучше

Если мне нужно использовать то же значение общего предпочтения в следующей немедленной операции, какое из них мне следует использовать? Как я видел, обновляется ли значение Preference, оно не отражается до перезапуска приложения.

Ответы на вопрос(2)

Ваш ответ на вопрос