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

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

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