java - 如何在 Kitkat Android 中将图像从一个 Activity 发送到另一个 Activity ?

标签 java android image send android-4.4-kitkat

在第一个 Activity 中:

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);

在第二个 Activity 中:

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

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

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

最佳答案

通过 Intent 传递如此大的文件并不是一个好的做法。这会减慢启动新 Activity 的过程。

尝试对图像进行静态引用并在下一个 Activity 中使用它。完成后,只需将其设为 null

关于java - 如何在 Kitkat Android 中将图像从一个 Activity 发送到另一个 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26009211/

相关文章:

ios - 如何使用 Swift 3 和 Alamofire 从 JSON 下载图像?

android - 将图像从 DCIM 文件夹复制到另一个文件夹会导致图像质量下降

image - 像素的强度和该像素的深度是否遵循特定关系?

java - 如何在Java中根据公共(public)属性合并两个排序的对象列表

Java应用程序控制台提示符

java - Volley : No authentication challenges found

Java Apache Spark : Long transformation chains result in quadratic time

android - AppCompat - 设置操作栏样式时出错

android - 在单击的项目正上方打开对话框,如上下文菜单

java - 在不刷新的情况下更新jsp页面的内容