JavaBinder: !!! FAILED BINDER TRANSACTION !!! 异常的解决方案分析

header = Util.picEncodeToStr(selectList.get(0).getCompressPath());

  ARouter.getInstance().build(Constants.AROUTER_SELECT_AREA)
            .withInt("sex", radioButtonLady.isChecked() ? 2 : 1)
            .withString("nickname", etNickname.getText().toString().trim())
            .withString("header", header)
            .withString("phone", phone)
            .navigation();

2019-02-15 17:41:11.695 1633-2263/? E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!  (parcel size = 546796)
2019-02-15 17:41:11.696 1633-2263/? E/ActivityManager: Second failure launching com.xxx.xxx/com.xxx.xxx.module.login.SelectAreaActivity, giving up
    android.os.TransactionTooLargeException: data parcel size 546796 bytes
        at android.os.BinderProxy.transactNative(Native Method)
        at android.os.BinderProxy.transact(Binder.java:751)
        at android.app.IApplicationThread$Stub$Proxy.scheduleLaunchActivity(IApplicationThread.java:1284)
        at com.android.server.am.ActivityStackSupervisor.realStartActivityLocked(ActivityStackSupervisor.java:1658)
        at com.android.server.am.ActivityStackSupervisor.attachApplicationLocked(ActivityStackSupervisor.java:1081)
        at com.android.server.am.ActivityManagerService.attachApplicationLocked(ActivityManagerService.java:7748)
        at com.android.server.am.ActivityManagerService.attachApplication(ActivityManagerService.java:7819)
        at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:291)
        at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3286)
        at com.android.server.am.HwActivityManagerService.onTransact(HwActivityManagerService.java:837)
        at android.os.Binder.execTransact(Binder.java:675)

大致的原因就是Intent传递数据有限制,header太大

https://blog.csdn.net/wudongjiang333/article/details/78122234

你可能感兴趣的:(Android学习)