Кто-нибудь имел эту проблему раньше?
Ну, у меня никогда не было этой проблемы.
Прежде всего, я хотел бы найти основную причину проблемы
Вы упомянули в комментариях, что вы не пишете много значений в SharedPreferences
. Я предполагаю, что корень проблемы в том, что ваше приложение было перезапущено IDE, когда оно могло быть занято записью в ваш SharedPreferences
.
потому что я не знаю, могло ли это произойти в производственной среде или
это только проблема отладки
По моему опыту, во время разработки приложений горячая перезагрузка всегда вызывает ошибки, и я думаю, что вам не повезло, поэтому файл настроек был поврежден.
Я бы порекомендовал вам немного поиграть с релизной версией вашего приложения. Если проблема не исчезнет, что маловероятно, я изучу ваш код, который записывает в ваш SharedPreferences
. Если возможно, добавьте проверку для Exception
также в этом случае.
При сохранении вы также можете получить возвращаемое значение операции. Взгляните на: http://developer.android.com/reference/android/content/SharedPreferences.Editor.html#commit(). Я знаю, что Android Studio может жаловаться на использование commit()
. Тем не менее, это единственный способ узнать, удалось ли написать ваши предпочтения.