Любые ли данные можно положить в putExtra

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

Ответ

В putExtra можно передать примитивные типы (int, float, boolean), строки (String), массивы, Parcelable и Serializable объекты. Однако есть ограничения:

  1. Размер данных – Android ограничивает размер Intent (обычно ~1MB). Большие данные могут вызвать TransactionTooLargeException.
  2. Производительность – Передача сложных объектов (особенно через Serializable) может быть медленной.
  3. Безопасность – Не передавайте конфиденциальные данные, так как Intent может быть перехвачен.

Пример:

// Parcelable объект
intent.putExtra("user", user as Parcelable)

// Примитивы
intent.putExtra("id", 123)
intent.putExtra("name", "John")