位图和相机

时间:2012-05-05 12:08:24

标签: android memory bitmap android-camera

我没有成功解决此错误:

  

java.lang.OutOfMemoryError:位图大小超过VM预算。

我的代码是:

BitmapFactory.Options op = new BitmapFactory.Options();
myBitmap = BitmapFactory.decodeFile(file.getAbsolutePath(),op);
ImageView _image = (ImageView)view.findViewById(R.id.imageCarte);

int width = myBitmap.getWidth();
int height = myBitmap.getHeight();
int halfWidth = width/2;
int halfHeight = height/2;
Bitmap bmHalf = Bitmap.createScaledBitmap(myBitmap, halfWidth, halfHeight, false);
_image.setImageBitmap(bmHalf);

2 个答案:

答案 0 :(得分:0)

This是处理Android中位图的必读内容。

答案 1 :(得分:0)

您可以在BitmapFactory.Options个实例上指定inSampleSize

  

如果设置为值> 1,请求解码器对原始进行二次采样   图像,返回较小的图像以节省内存。

例如:

BitmapFactory.Options op = new BitmapFactory.Options();
op.inSampleSize = 2
myBitmap = BitmapFactory.decodeFile(file.getAbsolutePath(),op);
ImageView _image = (ImageView)view.findViewById(R.id.imageCarte);
_image.setImageBitmap(myBitmap);