Использование как apply (), так и commit () в общих предпочтениях

sharedPreferencesEditor.putStringSet("Saved", set).apply();
                sharedPreferencesEditor.commit();
                if (sharedPreferencesEditor.commit()){
                    Toast.makeText(BankActivity.this, "Saved Successfully", Toast.LENGTH_SHORT).show();
                }

Лучше ли использовать методы apply () и commit () для регулярного изменения текста в общих настройках?

1
0
46
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Нет, вы должны то или другое. Это действительно зависит от того, что вы делаете, но в целом вы хотите использовать .apply().

.apply() применит ваши изменения в фоновом режиме позже; тогда как .commit() сразу же применит ваши изменения к текущему потоку.

Итак, если вам нужно что-то сразу сохранить и вы не против заблокировать поток пользовательского интерфейса, вы можете использовать .commit(), но .apply() будет работать лучше в 95% случаев.

Благодарность! Я предпочитаю, чтобы изменения происходили в текущем потоке сразу .. Я заменю его на SharedPreferencesEditor.putStringSet ("Сохранено", установить) .commit ();

androidDev 02.01.2019 10:17
Ответ принят как подходящий
  • commit () выполняется мгновенно, но выполняет запись на диск.
  • commit () - возвращает логическое значение.
  • commit () возвращает true, если сохранение работает, false в противном случае и блокирование поток пользовательского интерфейса до завершения действия.
  • apply () был добавлен, поскольку команда разработчиков Android заметила, что почти никто обратил внимание на возвращаемое значение, поэтому подать заявку будет быстрее.
  • apply () является асинхронным.

Благодарность! требуется мгновенное действие. Итак, commit () sharedPreferencesEditor.putStringSet ("Сохранено", установить) .commit ();

androidDev 02.01.2019 10:18

Другие вопросы по теме