Junior — Middle
Pouvez-vous expliquer comment l'appel de la méthode apply() est effectué et quelles en sont les principales caractéristiques?
sobes.tech IA
Réponse de l'IA
Метод apply() в Android используется для сохранения изменений в объекте SharedPreferences.Editor. Он асинхронно записывает изменения в хранилище настроек, не блокируя основной поток.
Основные особенности apply():
- Не возвращает результат (void), в отличие от
commit(), который возвращает boolean. - Выполняет запись в фоновом потоке, что повышает производительность и не замедляет UI.
- Изменения становятся видимы сразу после вызова.
Пример использования:
SharedPreferences prefs = getSharedPreferences("MyPrefs", MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("key", "value");
editor.apply(); // Сохраняет изменения асинхронно
Если важно узнать, успешно ли сохранены данные, используют commit(), но для большинства случаев apply() предпочтительнее из-за своей скорости и неблокирующего поведения.