android.os.TransactionTooLargeException: data parcel size 562012 bytes传递大数据异常
针对安卓intent传递大数据问题,我也是最近才遇到,网上找了各种方法,如今分享一下:
首先 新建一个数据类:
import android.os.Binder;
/**
* 应对跳转考试答题页 intent传递大数据时候
*/
public class BigBinder extends Binder {
public AnswerPageEntity answerPageEntity;
public BigBinder(AnswerPageEntity answerPageEntity) {
this.answerPageEntity=answerPageEntity;
}
}
其中是我要传递的对象类;
然后调整开始页代码如下:
Intent intent = new Intent(this, NewAnswerPageActivity.class);
Bundle bundle=new Bundle();
BigBinder bigBinder=new BigBinder(answerPageEntity);
bundle.putBinder("bigData",bigBinder);
intent.putExtra("bundle",bundle);
startActivity(intent);
接收的界面代码如下:
Bundle bundle=intent.getBundleExtra("bundle");
BigBinder bigBinder = (BigBinder) bundle.getBinder("bigData");
Log.d("mawl","获取的intent数据是=="+bigBinder.answerPageEntity.getCode());
mAnswerPageEntity = bigBinder.answerPageEntity;
ok 完成了,大家可以试试。