当我在Nexus 5(Android 4.4.2)上运行下面的代码时,tmpOptions.width获得-1,tmpOptions.height获得-1。在我之前的所有Android设备和早期操作系统中,我使用相同的代码为我的图像获得了有效的正宽度和高度。
BitmapFactory.Options tmpOptions = new BitmapFactory.Options();
this.decoder = BitmapRegionDecoder.newInstance(inputStream, false);
tmpOptions.inJustDecodeBounds = true;
BitmapFactory.decodeStream(inputStream, null, tmpOptions);
似乎有些事情发生了变化。我正在使用BufferedInputStream来确保我有marksupported() == true
,以防使用inJustDecodeBounds=true
需要一个可以倒带的Stream。虽然,在早期版本的Android中不需要这样做。我正在尝试解码一个大图像(2540x1080像素)但我希望我的最新设备与KitKat支持比以前版本的Android更大的图像。