Bundle – это класс, реализующий
ассоциативный массив, т.е. хранящий пары ключ-значение. Имеет
get() и
put() методы для
примитивов, строк и объектов, которые реализуют интерфейсы
Parcelable и
Serializable.
Bundle используется для передачи данных между
базовыми компонентами.
Также рекомендуется использовать Bundle для передачи данных между процессами, потому что Bundle оптимизирован под
маршалинг/демаршалинг.
Intent описывает операцию к исполнению. Интенты используются при старте базовых компонент, например
startActivity(intent: Intent) и
startService(intent: Intent).
Intent так же как и Bundle имеет
get() и
put() методы и используется для передачи данных. Но Intent не реализует ассоциативный массив, а лишь предоставляет интерфейс. Intent имеет внутри объект Bundle, куда
делегируются переданные пары и уже Bundle используется для хранения и передачи данных.