Android 4.4.2(KitKat):使用inJustDecodeBounds = true后,BitmapFactory.decodeStream的宽度和高度始终返回-1

时间:2013-12-25 03:53:12

标签: android bitmap bitmapfactory android-4.4-kitkat

当我在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更大的图像。

0 个答案:

没有答案