В приложении, которое я разрабатываю, у меня есть пользовательский вид, в котором мне нужно сохранить состояние экземпляра, когда изменяется либо конфигурация экрана, либо приложение перемещено в фон. Я реализую onSaveInstanceState()
и onRestoreInstanceState(Parcelable savedInstanceState)
, а в случае изменений конфигурации экрана состояние экземпляра сохраняется и восстанавливается отлично. Однако, когда приложение перемещается на задний план, onSaveInstanceState()
не вызывается. Это означает, что у меня нет состояния сохраненного экземпляра, когда активность снова отображается на переднем плане. Мой вопрос тогда:onSaveInstanceState() не вызывается в пользовательском представлении, когда приложение перемещено на задний план
Почему onSaveInstanceState()
не вызывается, когда приложение перемещается на задний план, и можно ли позвонить моему окну onSaveInstanceState()
, когда приложение перемещено на задний план?
Это странное поведение, у вашего пользовательского представления есть идентификатор? Я проверил это, и мой взгляд действительно получил вызов onSaveInstanceState. С «переместился на задний план», вы имеете в виду использование кнопки «домой»? –
У моего представления есть id. В действительности проблема не возникает при использовании кнопки «домой». Это происходит, когда вы нажимаете кнопку «Назад», чтобы оставить действие. – Zero
* Это происходит, когда вы нажимаете кнопку «Назад», чтобы оставить действие. * - использование возврата означает, что вы оставляете приложение навсегда (так что состояние приложения не будет сохранено), а не то, что вы отправляете приложение на задний план , Для сохранения данных при использовании обратно вам понадобится более постоянная память (например, настройки, база данных и т. Д.). – Luksprog