java.lang.OutOfMemoryError(java.lang.OutOfMemoryEr

2019-07-29 06:26发布

我拍摄图像用相机它的商店在SD卡,存储必须从SD卡上传到这样一个ImageView的图像:

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

但我有此错误:

八月5日至5日:23:20.593:E / AndroidRuntime(1936):java.lang.OutOfMemoryError:致位图大小超过VM预算。

谁能帮我。 谢谢

Answer 1:

在移动使用BitmapFactory是存储器耗时的过程。 当您尝试将大量的图像解码连续这个问题就会出现。 由于在Java中没有选择释放分配给变量“设备无关”的记忆。 因此,确保这些类型的变量都在使用它后设置为null。

也可尝试使用

System.gc() to clear the garbage collection.

如果错误在执行抛出“_image.setImageBitmap(MYBITMAP);” 线然后尝试显示之前缩小图像尺寸



文章来源: java.lang.OutOfMemoryError