当在本机代码中使用从ParcelFileDescriptor获得的文件描述符时,本机端是否应该在fdopen之后使用fclose?
文档指出ParcelaleFileDescriptor实例拥有文件描述符,应该通过它关闭它。我不知道在关闭文件描述符之前关闭本机 FILE 指针的影响。
伪代码:
1) JAVA:
// Obtain the file descriptor and pass it to the native method
ParcelFileDescriptor descriptor = contentResolver.openFileDescriptor(uri, "w");
nativeMethod(descriptor.getFD());
2) C++:
void nativeMethod(const int fd)
{
FILE* fp = fdopen(fd, "wb");
..... // do something
fclose(fp); // Close the file pointer <-- Is this valid?
}
3) JAVA:
// Back from the native method, close the file descriptor
descriptor.close();