2015-03-03 2 views
-2

как новый разработчик Android. Я пытаюсь принять мышление андроида. Я столкнулся с проблемой при сохранении состояния активности, потому что onSavedInstanceState не работает последовательно между различными версиями Android.Android сохраняет несоответствия состояния

До версии 3, onSavedInstanceState сохранил данные, даже когда приложение было убито, вручную вытащив его из списка последних приложений. В новых версиях это не так. Альтернативный способ - использовать общие предпочтения, но жизненный цикл активности кажется довольно сложным.

Я мог бы использовать методы onPause/onResume, но они вызываются каждый раз, даже во время процесса создания активности. Простым решением было бы использовать логический флаг для проверки того, запускалось ли событие onCreate раньше, но это не совсем нормально.

Что вы предлагаете в качестве оптимальной стратегии сохранения состояния во всех случаях (например: приложение, которое будет убито вручную, приложение будет убито ОС, активность будет закрыта другой и т. Д.)?

Заранее спасибо.

ответ

0

SavingActivityState

Примечание: Поскольку onSaveInstanceState() не гарантируется называться, вы должны использовать его только для записи переходного состояния активности (состояние UI) -вы никогда не должны используйте его для хранения постоянных данных . Вместо этого вы должны использовать onPause() для хранения постоянных данных (таких как как данные, которые должны быть сохранены в базе данных), когда пользователь покидает операцию .

Storage Options

Смежные вопросы