Исключение TransactionTooLargeException при вызове onSaveInstanceState

#android-9.0-pie #onsaveinstancestate #transactiontoolargeexception

#android-9.0-pie #onsaveinstancestate #исключение transactiontoolargeexception

Вопрос:

Кажется, это произошло при вызове onSaveInstanceState.

Эта проблема есть у устройств Android 8.1 и 9.0.

Как это решить?

Большое спасибо!

13404-10 02:49:44.606 16580 16580 E JavaBinder: !!! НЕУДАЧНАЯ ТРАНЗАКЦИЯ СВЯЗУЮЩЕГО!!! (размер участка = 527472)

13504-10 02:49:44.606 16580 16580 Вт ActivityStopInfo: статистика пакетов:

13604-10 02:49:44.606 16580 16580 W ActivityStopInfo: android:viewHierarchyState [размер = 2104]

13704-10 02:49:44.607 16580 16580 Вт ActivityStopInfo: android:просмотры [размер = 2000]

13804-10 02:49:44.620 16580 16580 Вт ActivityStopInfo: android:поддержка: фрагменты [размер = 524484]

13904-10 02:49:44.620 16580 16580 Вт ActivityStopInfo: статистика по постоянному связыванию:

14004-10 02:49:44.620 16580 16580 W ActivityStopInfo: [null]

14104-10 02:49:44.620 16580 16580 D AndroidRuntime: завершение работы виртуальной машины 142——— начало катастрофы

14304-10 02:49:44.621 16580 16580 E AndroidRuntime: ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: основное

14404-10 02:49:44.621 16580 16580 E AndroidRuntime: Процесс: com.cwj.hsing, PID: 16580

14504-10 02:49:44.621 16580 16580 E AndroidRuntime: java.lang.RuntimeException: исключение android.os.TransactionTooLargeException: размер пакета данных 527472 байта

14604-10 02:49:44.621 16580 16580 E AndroidRuntime: в android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:160)

14704-10 02:49:44.621 16580 16580 E AndroidRuntime: в android.os.Handler.handleCallback(Handler.java:873)

14804-10 02:49:44.621 16580 16580 E AndroidRuntime: в android.os.Handler.DispatchMessage(Handler.java:99)

14904-10 02:49:44.621 16580 16580 E AndroidRuntime: в android.os.Looper.loop(Looper.java: 280)

15004-10 02:49:44.621 16580 16580 E AndroidRuntime: в android.app.ActivityThread.main(ActivityThread.java:6706)

15104-10 02:49:44.621 16580 16580 E AndroidRuntime: на java.lang.reflect.Метод.invoke(собственный метод)

15204-10 02:49:44.621 16580 16580 E AndroidRuntime: в com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)

15304-10 02:49:44.621 16580 16580 E AndroidRuntime: в com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

15404-10 02:49:44.621 16580 16580 E AndroidRuntime: Вызвано: android.os.Исключение TransactionTooLargeException: размер пакета данных 527472 байта

15504-10 02:49:44.621 16580 16580 E AndroidRuntime: в android.os.BinderProxy.transactNative(собственный метод)

15604-10 02:49:44.621 16580 16580 E AndroidRuntime: в android.os.BinderProxy.transact(Binder.java:1127)

15704-10 02:49:44.621 16580 16580 E AndroidRuntime: в android.app.IActivityManager $Stub $Proxy.activityStopped(IActivityManager.java: 4011)

15804-10 02:49:44.621 16580 16580 E AndroidRuntime: в android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:144)

15904-10 02:49:44.621 16580 16580 E Время работы Android: … еще 7

Комментарии:

1. вы решили это?

Ответ №1:

Нулевая транзакция пакета будет в порядке! если вам не нужно сохранять bundleData, вы можете сделать это следующим образом!

  @Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(new Bundle());
}