Попытка передать данные хеш-карты с использованием дополнений намерения в другое действие приводит к слишком большой ошибке исключения транзакции (пакет данных 2076400 байт).

Это код для передачи данных карты другому действию, которое получает ошибку.

if {

    mCountDownTimer =   new CountDownTimer(2000, 1000) {
    public void onTick(long millisUntilFinished) {}

    public void onFinish() {
        Intent intent = new Intent(Main2Activity.this, 
        ShowImagesActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | 
        Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.putExtra("hashMap", map);
        startActivity(intent);
        if(Splash.Getproduct ==null) {
            if (mInterstitialAd.isLoaded()) 
             mInterstitialAd.show();
       }.start();
    }
}

Как этого избежать и отправить эти данные в другое дело.

0
sandeep K 23 Окт 2019 в 09:23
В Intent есть ограничение на размер данных. Похоже, вы ее достигли. Не используйте Intent для больших данных.
 – 
Vladyslav Matviienko
23 Окт 2019 в 09:35

1 ответ

Лучший ответ

Существует ограничение на объем данных, которые вы можете отправлять с помощью намерений. Его размер составляет 1 МБ. В идеале вы должны отправлять через намерения данные размером всего несколько КБ.

Размер ваших данных составляет около 2 МБ, что превышает этот предел. Если вы намереваетесь передать такой объем данных, вы также можете сохранить их в базе данных или в хранилище данных в памяти.

Буфер транзакции Binder имеет ограниченный фиксированный размер, в настоящее время 1 МБ, который используется всеми транзакциями, выполняемыми для процесса. Поскольку это ограничение устанавливается на уровне процесса, а не на уровне активности, эти транзакции включают все транзакции связывания в приложении, такие как onSaveInstanceState, startActivity и любое взаимодействие с системой. При превышении предельного размера возникает исключение TransactionTooLargeException.

https://developer.android.com/guide/components/activities/parcelables-and-bundles

0
Dinesh 23 Окт 2019 в 09:27