Следующий рисунок (из официального документа) описывает известный жизненный цикл активности Android:
С другой стороны, когда действие уничтожается системой (например, из-за необходимости восстановления памяти), состояние активности иногда автоматически сохраняется и восстанавливается с помощью методов onSaveInstanceState()
и onRestoreInstanceState()
, как показано на следующем рисунке (также из официального документа):
Я знаю, что onSaveInstanceState()
не всегда называется, когда действие должно быть уничтожено. Например, если он уничтожен, потому что пользователь нажал кнопку "назад", состояние активности не сохраняется. Но в тех случаях, когда состояние сохраняется и восстанавливается, а onSaveInstanceState()
/onRestoreInstanceState()
вызывается, , когда они называются
Например, согласно приведенным выше рисункам, onRestoreInstanceState()
может быть вызван до onStart()
или после onStart()
, но до onResume()
или после onResume()
. Аналогично, существует несколько возможностей для onSaveInstanceState()
. Итак, когда они называются точно?
В идеале, я бы хотел увидеть комбинированную диаграмму , отображающую состояния жизненного цикла активности и методы сохранения/восстановления, если таковая существует.