【发布时间】:2018-07-13 12:57:12
【问题描述】:
首先,我尝试使用 Bitmap 在 Activity 之间传递一个大图像文件,但收到以下错误:
E/JavaBinder: !!! Binder 交易失败!!! (包裹大小=6560360)
我在 SO 上阅读了一个解决方案,首先将 Bitmap 转换为字节数组,所以我尝试了一下:
第一个活动
ByteArrayOutputStream stream = new ByteArrayOutputStream();
myBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
Intent i = new Intent(getApplicationContext(), SecondActivity.class);
i.putExtra("photo",byteArray);
startActivity(i);
第二个活动
byte[] byteArray = getIntent().getByteArrayExtra("photo");
Bitmap loopPhotoBackground = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
但这给出了同样的错误。如何在活动之间传递图像数据?
【问题讨论】: