我試圖找到一種方法來獲取圖像的尺寸,這樣我就知道它的尺度如何。這樣做的目的是它不會有這些內存問題。使用BitmapFactory獲取圖像上的尺寸可以得到OutOfMemoryError,
所以我在做什麼是:
BitmapFactory image = new BitmapFactory();
BitmapFactory.Options opts = new BitmapFactory.Options();
image.decodeFile(_path,opts);
if(opts.outHeight > 2048 || opts.outWidth > 2048){
opts.inSampleSize= 2;
}
VIEW.setImageBitmap(image.decodeFile(_path,opts));
的問題是,在第一次解碼,它將如果設備可是沒有足夠的內存錯誤。
我這樣做的方式是把它放在trycatch塊,然後添加額外的語句,如果.... opts.outHeight == -1 || opts.outWidth == -1){
所以我想知道的是,有沒有辦法做到我想要的東西,而不會吸收解碼上的太多內存?我只需要知道原始圖像的高度和寬度。
你看到這個[培訓](HTTP://開發商。 android.com/training/displaying-bitmaps/index.html) –
我沒有,它解決了問題。我不知道inJustDecodeBounds – Fallenreaper