Использование обоих apply () и commit () в sharedpreference - PullRequest
0 голосов
/ 01 января 2019
sharedPreferencesEditor.putStringSet("Saved", set).apply();
                sharedPreferencesEditor.commit();
                if(sharedPreferencesEditor.commit()){
                    Toast.makeText(BankActivity.this, "Saved Successfully", Toast.LENGTH_SHORT).show();
                }

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

Ответы [ 2 ]

0 голосов
/ 01 января 2019
  • commit () выполняется мгновенно, но выполняет запись на диск.
  • commit () - возвращает логическое значение.
  • commit () возвращает true, если сохранение работает, false в противном случае и блокировкапоток пользовательского интерфейса до завершения действия.
  • apply () был добавлен, так как команда разработчиков Android заметила, что большинство никто не обратил внимания на возвращаемое значение, поэтому применять быстрее.
  • apply ()асинхронный.
0 голосов
/ 01 января 2019

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...