onRestoreInstanceState не вызывается при пробуждении экрана?
Я написал весь необходимый код, чтобы сохранить состояние "Активность" (простая форма с виджетами EditText) и восстановить его при ротации телефона, и он отлично работает.
Моя проблема заключается в управлении изменениями включения / выключения экрана: при выключении вызывается onSaveInstanceState и все идет хорошо. На экране onRestoreInstanceState не вызывается, ни onCreate, только onResume.
Я что-то пропустил?
3 ответа
Метод onRestoreInstanceState вызывается только в том случае, если процесс активности завершается (из-за ограничений памяти или по другим причинам), а затем восстанавливается, когда он снова становится видимым. При повороте телефона активность убивается и восстанавливается с различной ориентацией, поэтому она будет работать. Но на экране вкл / выкл это было бы не так. Деятельность не была уничтожена, поэтому нет необходимости для восстановления
Он также вызывается при увеличении масштаба (например, на планшете).
onRestoreInstanceState вызывается для сохранения состояния активности перед уничтожением. Когда экран гаснет, действие переводится в состояние паузы, потому что защита клавиатуры - это действие, которое появляется перед вашим действием. чтобы поймать цикл выключения / включения, необходимо переопределить методы onPause / onResume, как указано в http://developer.android.com/reference/android/app/Activity.html