我试图找到一种方法来获取图像的尺寸,这样我就知道它的尺度如何。这样做的目的是它不会有这些内存问题。使用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