使用位图时发生java outofmemory错误
我已经创建了一个安卓应用程序,它从图库中选择一张图片并显示预览
@Override
public void onClick(View v) {
if (v.getId()== R.id.button){
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_PICK);
startActivityForResult(Intent.createChooser(intent,
"Select Picture"), SELECT_PICTURE);
}
选择图像后,应显示预览
然而,它只是第一次起作用。稍后,当我单击后退时,它显示outOfMemoryException
# 1 楼答案
在安卓系统中使用位图会消耗大量内存,由于内存泄漏,需要引起HUD的注意
你可以随时使用
垃圾收集并释放一些内存
或者
把我在开发图像编辑应用程序时使用的博客帖子拿出来
# 2 楼答案
您可能正在缓存大量位图,因此可以使用
ImageLoader
并执行以下操作:另外,在你不再需要位图后,还要设法释放它们
# 3 楼答案
在android中使用位图通常会抛出OutOfMemory错误。位图需要正确处理。您可能想看看以下专门用于在android中加载图像和使用位图的库:
https://github.com/nostra13/Android-Universal-Image-Loader
https://github.com/novoda/ImageLoader
您还可以实现自己的imageloader。你可以很容易地找到它的代码