Когда вызывается onRestoreInstanceState у Activity

«Когда вызывается onRestoreInstanceState у Activity» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

onRestoreInstanceState() вызывается после onStart(), если система восстанавливает состояние Activity после его уничтожения (например, при повороте экрана или нехватке памяти). В отличие от onCreate(), он вызывается только при наличии сохранённого состояния (Bundle), переданного в метод.

Пример:

override fun onRestoreInstanceState(savedInstanceState: Bundle) {
    super.onRestoreInstanceState(savedInstanceState)
    val savedText = savedInstanceState.getString("KEY_TEXT")
    textView.text = savedText
}

Важно: данные в onRestoreInstanceState те же, что и в onCreate(), но этот метод гарантированно вызывается только при восстановлении, а не при первом создании Activity.