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