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