针对安卓intent传递大数据问题的解决方法

解决android.os.TransactionTooLargeException: data parcel size 562012 bytes传递大数据异常,亲测有效

步骤如下:

1、创建一个数据处理类

import android.os.Binder;

/**
 * intent传递大数据时候
 */
class BigBinder(data: ArrayList) : Binder() {
    var data: ArrayList = data
}

2、数据添加,跳转

 Intent intent = new Intent(this, XXActivity.class);
        Bundle bundle=new Bundle();
        BigBinder bigBinder=new BigBinder(bigData);
        bundle.putBinder("bigDataKey",bigBinder);
        intent.putExtra("bundle",bundle);
        startActivity(intent);

3、接收

 Bundle bundle=intent.getBundleExtra("bundle");
 BigBinder bigBinder = (BigBinder) bundle.getBinder("bigDataKey");        
 getNeedData = bigBinder.data;

你可能感兴趣的:(随笔,android)