Что такое объект Bundle

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

Ответ

Bundle — это объект, который хранит данные в виде пар "ключ-значение" (key-value). Используется для передачи данных между компонентами Android (Activity, Fragment, Service и т.д.). Поддерживает примитивные типы, строки, массивы и объекты, реализующие Parcelable или Serializable.

// Создание Bundle
val bundle = Bundle().apply {
    putString("key_string", "Hello")
    putInt("key_int", 42)
}

// Чтение из Bundle
val stringValue = bundle.getString("key_string")
val intValue = bundle.getInt("key_int")

Особенности:

  • Размер ограничен (обычно ~1MB)
  • Не подходит для передачи больших данных
  • При повороте экрана Bundle автоматически сохраняется и восстанавливается (если не переопределить onSaveInstanceState)