在分离后关闭ParcelFileDescriptor文件描述符



在Android中,我使用方法detachFd从parefiledescriptor获得一个文件描述符传递给本机代码以供使用。作为文件描述符我在本机代码中使用fdclose关闭它.

既然它是分离的,我还应该关闭ParcelFileDescriptor java实例吗?

在我看来,我不应该,但我发现在旧版本的Android,如棒棒糖,StrictMode抱怨资源没有关闭,可能是因为不知道它已被分离。

如果需要关闭ParcelFileDescriptor即使文件描述符已被分离,如果在本机代码中仍然使用分离的文件描述符时关闭,是否有任何副作用需要注意?

标准做法,如:

try (ParcelFileDescriptor pFd = ParcelFileDescriptor.open(new File(path), ParcelFileDescriptor.MODE_READ_WRITE)) {
int fd = pFd.detachFd();
} catch (IOException e) {
}

因为"ParcelFileDescriptor"one_answers";fd"已分开,关闭对象不会影响"fd"

// native
close(fd)

相关内容

  • 没有找到相关文章

最新更新