我用相机拍摄图像并将其存储在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预算。
答案 0 :(得分:0)
在移动设备中使用BitmapFactory是一个消耗内存的过程。当您尝试连续解码大量图像时,会出现此问题。 与在java中一样,没有选项可以释放分配给变量“myBitmap”的内存。因此,请确保在使用后将这些类型的变量设置为null。
也尝试使用
System.gc() to clear the garbage collection.
如果在执行“_image.setImageBitmap(myBitmap);”时抛出错误然后在显示
之前尝试减小图像大小