我试图找到一种方法来获取图像的尺寸,这样我就知道如何缩放它。这样做的目的是它不会有这些内存问题。
所以我正在做的是:
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 块中,然后在 if.... || 添加附加语句 opts.outHeight == -1 || opts.outWidth == -1){
所以我想知道的是,有没有一种方法可以做我想做的事情而不会在解码时占用太多内存?毕竟我只需要知道原始图像的高度和宽度。