Зависит от назначения комплекта.Сам пакет ограничен только объемом памяти.
Два основных варианта использования пакетов - передача информации между компонентами с использованием намерений и сохранение состояния действий.
1.Intents / Binder
При использовании для передачи информации между компонентами Android пакет сериализуется в транзакцию связывания.Общий размер всех транзакций связывания в процессе составляет 1 МБ.Если вы превысите этот лимит, вы получите эту фатальную ошибку «!!! СБОЙ БЕЗОПАСНОГО БИНДЕРА !!!»
Рекомендуется, чтобы данные в этих пакетах были как можно меньше, потому что это общий буфер, что-то ещена диск должно быть записано несколько килобайт.
Ссылка: https://android.googlesource.com/platform/frameworks/base/+/jb-release/core/jni/android_util_Binder.cpp
ALOGE("!!! FAILED BINDER TRANSACTION !!!");
// TransactionTooLargeException is a checked exception, only throw from certain methods.
// FIXME: Transaction too large is the most common reason for FAILED_TRANSACTION
// but it is not the only one. The Binder driver can return BR_FAILED_REPLY
// for other reasons also, such as if the transaction is malformed or
// refers to an FD that has been closed. We should change the driver
// to enable us to distinguish these cases in the future.
Ссылка: http://developer.android.com/reference/android/os/TransactionTooLargeException.html
Буфер транзакций Binder имеет ограниченный фиксированный размер, в настоящее время - 1 МБ, который используется всеми транзакциями, выполняемыми для процесса.Следовательно, это исключение может быть вызвано, когда выполняется много транзакций, даже если большинство отдельных транзакций имеют умеренный размер.
2.Сохраненное состояние экземпляра (Activity onSaveInstanceState, onPause и т. Д.)
Я не нашел ограничений по размеру, который я мог бы сохранить в пакете, используемом для сохранения состояния Activity.Я провел несколько тестов и смог успешно сохранить около 175 МБ, прежде чем получил исключение нехватки памяти, пытаясь выделить данные, которые я пытался сохранить.