在从ParcelFileDescriptor获取的本机代码中使用文件描述符时,本机端应在 fdopen 之后使用 fclose 吗?
ParcelaleFileDescriptor实例所拥有的documentation states拥有文件描述符,应该通过它关闭它。我不知道在关闭文件描述符之前关闭本机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();