一般是OOM问题,图片太大了,在setImage之前需要将图片进行压缩
Options opts = new Options();
opts.inJustDecodeBounds = true; //先设置为true,只读取图片,不加载到内存中
BitmapFactory.decodeFile(path, opts); // 这样,options里就得到了原图片的宽高值
int inSampleSize = ChooseImageUtils.calculateInSampleSize(opts, reqWidth, reqHeight); // 根据传递的图片展示控件的,指定宽高,得到图片需要的缩放值
opts.inSampleSize = inSampleSize;
opts.inJustDecodeBounds = false;
Bitmap bitmap = BitmapFactory.decodeFile(path, opts);
这样得到了按展示控件宽高设置的图片
动态获取图片的缩放值的方法
/**
* 动态获取图片的缩放值
*
* &