На следующем рисунке (из официального документа ) описывается хорошо известный жизненный цикл активности Android:

С другой стороны, когда действие уничтожается системой (например, из-за того, что необходимо освободить память), состояние действия иногда автоматически сохраняется и восстанавливается с помощью методов onSaveInstanceState()и onRestoreInstanceState(), как показано на следующем рисунке (также из официального документа ):

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