关于TransactionTooLargeException: data parcel size 526312 bytes的解决

        我遇到这个异常在Android 7.0以上会出现,而在Android 7.0以下则没有出现问题,网上都是说页面跳转intent数据过大的原因,这确实是一个原因,刚开始我也是按照这个方向去找问题的,我确实在跳转的时候带了数据 ,我以为问题就此引刃而解,但是,我不带数据也会出现这样的问题,我把数据设置静态还是会出现问题,我陷入纠结之中,再网上看了很多别人的问题和解决方案,发现说法基本差不多。后来看到一篇博文说用Binder传递过多的数据到Fragment里面也会出现,我看了我的代码,果然传了数据,我把数据打印出来,非常多,我把数据换成静态变量传值,果然问题解决了。
      我的Android 7.0 版本,当Activity_a传大量数据到下面的Fragment,跳转到这个页面,并且已经数据已经传递时,app还可以正常运行,当这个页面跳转到另外一个页面Activity_b,Activity_a被覆盖时候,这个就会在Activity_b页面闪退,很容易让人以为是Activity_B里面的问题,而且打印的logcat很难定位到代码异常的位置。

     logcat:
Caused by:
5 android.os.TransactionTooLargeException:data parcel size 524968 bytes
6 android.os.BinderProxy.transactNative(Native Method)
7 android.os.BinderProxy.transact(Binder.java:751)
8 android.app.IActivityManager$Stub$Proxy.activityStopped(IActivityManager.java:4636)
9 android.app.ActivityThread$StopInfo.run(ActivityThread.java:4580)
10 android.os.Handler.handleCallback(Handler.java:808)
11 android.os.Handler.dispatchMessage(Handler.java:101)
12 android.os.Looper.loop(Looper.java:166)
13 android.app.ActivityThread.main(ActivityThread.java:7406)
14 java.lang.reflect.Method.invoke(Native Method)
15 com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
16 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:926)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值