Есть ли ограничение по размеру для putParcelableArrayListExtra? - PullRequest
0 голосов
/ 23 февраля 2020

Я использую putParcelableArrayListExtra для отправки ArrayList, который содержит все песни на устройстве, в другое действие.

Теперь мне было интересно, есть ли какое-либо ограничение размера для отправки данных через намерения с putParcelableArrayListExtra.

Отл. Что, если у кого-то есть более 10 тысяч песен на его устройстве, это вызовет какие-либо проблемы при отправке массива, содержащего много песен, в другое занятие?

Мой код

@Override
   public void onClickItem(int position) {
        if (getActivity() != null) {
            myList = Main.getInstance().songs;
            Intent intent = new Intent(getActivity(), ListSongsActivity.class);
            intent.putParcelableArrayListExtra("myList ", myList);
            startActivity(intent);
        }
}

1 Ответ

0 голосов
/ 23 февраля 2020

Существует ограничение на размер пакета при выполнении транзакции Activity. В случае превышения лимита выдается TransactionTooLargeException .

The Binder transaction buffer has a limited fixed size, currently 1Mb,
which is shared by all transactions in progress for the process.
Consequently, this exception can be thrown when there are many
transactions in progress even when most of the individual transactions
are of moderate size.

Ссылка: https://developer.android.com/reference/android/os/TransactionTooLargeException

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...