1. 程式人生 > >通過檔案獲取bitmap的寬高(涉及到回收問題)

通過檔案獲取bitmap的寬高(涉及到回收問題)

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進行回收處理。