Для чего нужен параметр Bundle в методе onCreate()

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

Ответ

Bundle в onCreate() сохраняет состояние активити при ее пересоздании (например, при повороте экрана). Он содержит данные, которые были сохранены в onSaveInstanceState(). Если Bundle не null — значит активити восстанавливается, а не создается впервые.

Пример:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    if (savedInstanceState != null) {
        val savedText = savedInstanceState.getString("KEY_TEXT")
        textView.text = savedText // Восстанавливаем текст
    }
}

override fun onSaveInstanceState(outState: Bundle) {
    super.onSaveInstanceState(outState)
    outState.putString("KEY_TEXT", textView.text.toString()) // Сохраняем текст
}