在第一个活动中:
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