SharedPreferences.Editor
. Объект Editor
создается методом SharedPreferences.edit() и используется для изменения данных в SharedPreferences
. Метод
commit()
добавлен в класс Editor
начиная с API level 1. Этот метод синхронно и атомарно записывает изменения, сделанные в Editor
, в файл SharedPreferences
на диске. commit()
возвращает true
, если изменения успешно записаны, иначе false
. Не рекомендуется вызывать
commit()
из UI-треда, т.к. этот метод выполняет работу с диском синхронно, что может занять продолжительное время и вызвать лаги в пользовательском интерфейсе.Метод
apply()
добавлен в API level 9. apply()
синхронно выполняет изменения Editor
в памяти, в объекте SharedPreferences
. После этого изменения в памяти асинхронно сохраняются на диск. Операция apply()
атомарна, но из-за асинхронного сохранения apply()
не возвращает Boolean
результат и не позволяет узнать, выполнилась ли операция успешно. Если после
apply()
вызван commit()
с новыми изменениями, то поток, выполняющий метод commit()
будет заблокирован, пока не выполнится синхронизация изменений apply()
.Рекомендуется использовать метод
apply()
во всех случаях, когда результат выполнения операции игнорируется.