Ответ
Да, может. Bundle использует Parcelable для сериализации, и у него есть ограничение на размер данных (обычно 1MB на транзакцию Binder). При превышении лимита получим TransactionTooLargeException.
Решение:
- Передавать только идентификаторы или минимальные данные
- Использовать ViewModel для обмена данными между фрагментами
- Сохранять данные в БД/SharedPrefs и передавать ключи
Пример с ViewModel:
class SharedViewModel : ViewModel() {
val largeData = MutableLiveData<BigData>()
}
// В фрагменте-отправителе
viewModel.largeData.value = myBigData
// В фрагменте-получателе
viewModel.largeData.observe(viewLifecycleOwner) { data ->
// обработка данных
}