bitmapfactory - Android 10 : BitmapFactory. 解码文件描述符返回 null

标签 bitmapfactory android-10.0

在运行 Android 10 的模拟器上,当我在 FireDescriptor 上使用decodeFileDescriptor(如下所示)时,位图创建得很好。但是,当我尝试设置选项,然后使用该选项对象获取位图时,选项对象似乎没有正确设置,并且位图为空。请让我知道我做错了什么。感谢您的帮助。

Bitmap test1c = BitmapFactory.decodeFileDescriptor(fdCompressed);
//This works
testImgView.setImageBitmap(test1c);

BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFileDescriptor(fdCompressed, null, options);
//The line above sets outHeight and outWidth of options to -1

options.inJustDecodeBounds = false;

//This bitmap object is null
Bitmap test1e = BitmapFactory.decodeFileDescriptor(fdCompressed, null, options);
testImgView.setImageBitmap(test1e);

最佳答案

找到了它不起作用的原因。我一开始所做的测试导致了这个问题。

Bitmap test1c = BitmapFactory.decodeFileDescriptor(fdCompressed);

因为看起来ParcelFileDescriptor对象只能使用一次来生成Bitmap。当我删除那条线并尝试时,效果很好。我花了几个小时才弄清楚这一点,希望它对某人有所帮助。

关于bitmapfactory - Android 10 : BitmapFactory. 解码文件描述符返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61340166/

相关文章:

java - BitmapFactory.decodeFile与decodeStream之间的区别

java - 如何在 Android 的蓝牙打印机上打印图像?

java - 错误:未找到Gradle DSL方法: 'imlementation()'

permissions - queryPermissionsByGroup 在 android Q 上返回 null

java - 将位图压缩到Android中的特定字节大小

java - 尝试从图库中获取图像时应用程序崩溃。请查看详情

android - 如何解决Android中的java.lang.OutOfMemoryError问题

android - 如何在 Android 10 中替换 FileObserver?

android - 将位图图像保存到画廊 android 10 的特定位置