BitmapFactory.Options options = new BitmapFactory.Options();
/**
* 最关键在此,把options.inJustDecodeBounds = true;
* 这里再decodeFile(),返回的bitmap为空,
* 但此时调用options.outHeight时,已经包含了图片的高了
*/
options.inJustDecodeBounds = true;
// 此时返回的bitmap为null
Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath(), options);
/**
*options.outHeight为原始图片的高
*/
return new int[]{options.outWidth,options.outHeight};
此时,不涉及到bitmap的回收问题
如果你要是通过bitmap获取宽高的话,需要在不使用了后对bitmap进行回收处理。