我从下面的链接中了解了ParcelFileDescriptor
。
http://developer.android.com/reference/android/os/ParcelFileDescriptor.html
但我对此一无所知。它是什么?它能做什么?
任何人都可以解释一下吗?
答案 0 :(得分:16)
它是什么?
文件描述符是进程用于读取或写入打开文件并打开网络套接字的对象。
可以编写表示原始Linux文件描述符标识符的 FileDescriptor
个对象,并返回ParcelFileDescriptor
个对象以对原始文件描述符进行操作。返回的文件描述符是原始文件描述符的副本:对象和fd不同,但在相同的底层文件流上操作,具有相同的位置。
它能做什么?
创建管道,从套接字创建fds,打开/关闭文件。
答案 1 :(得分:3)
它实现了Parcable API,允许将其放入Bundles和Intents中。甚至可以在进程之间发送FileDescriptor。 (我没有测试过这个)。
VPNService也为您提供了ParcelFileDescriptor。
答案 2 :(得分:1)
每当打开文件时,操作系统都会创建一个表示此文件的条目并存储其信息。每个条目由整数值表示,该条目称为文件描述符。 基本上,Java类FileDescriptor提供了底层机器特定结构的句柄,表示打开文件,打开套接字或其他字节源或接收器。