首先,我尝试使用Bitmap在活动之间传递大图像文件,但收到以下错误:
E / JavaBinder:!!!失败的粘合剂交易! (包裹大小= 6560360)
我在SO上阅读了一个解决方案,首先将Bitmap转换为字节数组,所以我试了一下:
FirstActivity
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);
SecondActivity
byte[] byteArray = getIntent().getByteArrayExtra("photo");
Bitmap loopPhotoBackground = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
但这会产生同样的错误。如何在活动之间传递图像数据?
答案 0 :(得分:0)
如何在活动之间传递图像数据?
你没有。之一:
这些应合并为一个活动,或
您应该拥有两种活动共享的某种图像缓存,将标识符传递给缓存条目