-3

我用相机拍摄图像并将其存储在 sd 卡中,存储的图像必须从 sd 卡上传到 imageView,如下所示:

myBitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
ImageView _image=(ImageView)view.findViewById(R.id.imageCarte);
_image.setImageBitmap(myBitmap);

但我有这个错误:

05-05 08:23:20.593:E/AndroidRuntime(1936):原因:java.lang.OutOfMemoryError:位图大小超出 VM 预算。

谁能帮我。谢谢

4

1 回答 1

0

在移动设备中使用 BitmapFactory 是一个消耗内存的过程。当您尝试连续解码大量图像时会出现此问题。与在 java 中一样,没有选项可以释放分配给变量“myBitmap”的内存。所以请确保这些类型的变量在使用后设置为null。

也尝试使用

System.gc() to clear the garbage collection.

如果执行“_image.setImageBitmap(myBitmap);”时抛出错误 行然后尝试在显示之前减小图像大小

于 2012-05-05T09:55:11.520 回答