gpt4 book ai didi

android - BitmapFactory.decodeFileDescriptor 返回带有有效文件描述符的 null

转载 作者:行者123 更新时间:2023-11-29 15:30:18 27 4
gpt4 key购买 nike

我遇到了 BitmapFactory.decodeFileDescriptor 返回空位图的问题。提供的文件描述符来自:

AssetManager.openFd("test.png").getFileDescriptor();

路径正确,文件存在,没有抛出异常,并且 FileDescriptor.Valid() 返回 true。

我看过的其他代码示例似乎没有这个问题。

这让我很困惑,我不知道我应该如何从这里开始。有什么想法吗?

最佳答案

我遇到了同样的问题。首先,我将 FileInputStream.getFD 和 BitmapFactory.decodeFileDescriptor 放在不同的线程中,它返回 null。

PhotoDecodeTask task = new PhotoDecodeTask();
task.execute(new FileInputStream(filePath).getFD());

private class PhotoDecodeTask extends AsyncTask<FileDescriptor,Integer,Bitmap>{

@Override
protected Bitmap doInBackground(FileDescriptor... params) {
...
return BitmapFactory.decodeFileDescriptor(params[0],null, opts);
}
}

我尝试将它们放在同一个线程中,我工作了。但我不知道为什么。

PhotoDecodeTask task = new PhotoDecodeTask();
task.execute(filePath);

private class PhotoDecodeTask extends AsyncTask<String,Integer,Bitmap>{

@Override
protected Bitmap doInBackground(String... params) {
...
FileDescriptor fd = new FileInputStream(params[0]);
return BitmapFactory.decodeFileDescriptor(fd,null, opts);
}
}

关于android - BitmapFactory.decodeFileDescriptor 返回带有有效文件描述符的 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7604150/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com