【问题标题】:TransactionTooLargeException when onSaveInstanceState called调用 onSaveInstanceState 时的 TransactionTooLargeException
【发布时间】:2019-04-12 07:29:22
【问题描述】:

似乎是在调用 onSaveInstanceState 时发生的。

Android 8.1 和 9.0 设备都有这个问题。

如何解决这个问题?

非常感谢!

13404-10 02:49:44.606 16580 16580 E JavaBinder: !!! Binder 交易失败!!! (包裹大小=527472)

13504-10 02:49:44.606 16580 16580 W ActivityStopInfo:捆绑统计:

13604-10 02:49:44.606 16580 16580 W ActivityStopInfo: android:viewHierarchyState [size=2104]

13704-10 02:49:44.607 16580 16580 W ActivityStopInfo: android:views [size=2000]

13804-10 02:49:44.620 16580 16580 W ActivityStopInfo: android:support:fragments [size=524484]

13904-10 02:49:44.620 16580 16580 W ActivityStopInfo:PersistableBundle 统计信息:

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

14104-10 02:49:44.620 16580 16580 D AndroidRuntime: 关闭 VM 142---------崩溃开始

14304-10 02:49:44.621 16580 16580 E AndroidRuntime: FATAL EXCEPTION: main

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: at 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: at 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: at java.lang.reflect.Method.invoke(Native Method)

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

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

15404-10 02:49:44.621 16580 16580 E AndroidRuntime: Caused by: android.os.TransactionTooLargeException: data parcel size 527472 bytes

15504-10 02:49:44.621 16580 16580 E AndroidRuntime: at android.os.BinderProxy.transactNative(Native Method)

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: at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:144)

15904-10 02:49:44.621 16580 16580 E AndroidRuntime: ... 7 更多

【问题讨论】:

  • 你解决了吗?

标签: android-9.0-pie onsaveinstancestate transactiontoolargeexception


【解决方案1】:

Bundle transaction null 就可以了!如果你不需要保存 bundleData,你可以这样做!

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

【讨论】:

    猜你喜欢
    • 2022-01-02
    • 1970-01-01
    • 2017-06-16
    • 2014-01-16
    • 1970-01-01
    • 2012-10-29
    • 2015-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多