我用我的手机相机拍摄一张照片,然后将其设置为我的图像视图。我遇到了内存不足的错误,所以我决定使用下面的代码来压缩我的位图。错误消失了,但我的位图也消失了。我的图像视图不显示任何内容。我究竟做错了什么。以下代码在我的 onActivityResult 中。
InputStream input = getContentResolver().openInputStream(
data.getData());
//Decode image size
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;
BitmapFactory.decodeStream(input,null,o);
//The new size we want to scale to
final int REQUIRED_SIZE=40;
//Find the correct scale value. It should be the power of 2.
int scale=16;
while(o.outWidth/scale/2>=REQUIRED_SIZE && o.outHeight/scale/2>=REQUIRED_SIZE)
scale*=2;
//Decode with inSampleSize
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize=scale;
bitmap=BitmapFactory.decodeStream(input, null, o2);
firstImageButton.setImageBitmap(bitmap);