Какой объем данных можно передать в Bundle

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

Ответ

Максимальный размер Bundle ограничен системой и зависит от версии Android и устройства. Обычно это около 1MB, но точное значение может варьироваться.

При превышении лимита получите TransactionTooLargeException. Для больших данных используйте:

  • Локальное хранилище (SharedPreferences, Room)
  • Файлы
  • ContentProvider

Пример проверки размера:

val bundle = Bundle().apply {
    putString("large_data", "very_large_string...")
}
try {
    // Попытка передачи
} catch (e: TransactionTooLargeException) {
    // Обработка ошибки
}

Для Intent: ограничение ~500KB-1MB. Всегда проверяйте размер передаваемых данных.