在第一个活动中:

Intent i = new Intent(FirstActivity.this, SecondActivity.class);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] bytes = stream.toByteArray();
i.putExtra("image", bytes);
startActivity(i);


在第二个活动中:

byte[] byteArray = extras.getByteArray("image");
Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);

if (bmp != null) {
    iv_1.setImageBitmap(bmp);
}


这适用于所有设备和版本。但这对Kitkat不起作用,为什么呢?
如何解决奇巧的问题?

最佳答案

通过意图传递如此巨大的文件不是一个好习惯。这将减慢启动新活动的过程。

尝试对图像进行静态引用,并在下一个活动中使用它。完成后,立即将其设置为null

10-07 19:18
查看更多