Я использую SharedPreferencesв моем приложении для Android. Я использую оба commit()и apply()метод из общих предпочтений. Когда я использую AVD 2.3, это не показывает ошибку, но когда я запускаю код в AVD 2.1, apply()метод показывает ошибку.
Так в чем же разница между этими двумя? И с помощью только commit()я могу сохранить значение предпочтения без каких-либо проблем?
apply()побеждает последний из вызываемых объектов . Таким образом, вы можете использовать apply()вместо commit()безопасного, если вы уверены, что только одно SharedPreferences.Editor используется вашим приложением.
commit()?
apply()будет асинхронно выполнять дисковый ввод-вывод, покаcommit()он синхронный. Так что вам действительно не следует звонитьcommit()из потока пользовательского интерфейса.