什么是Android中的ParcelFileDescriptor

use*_*821 37 android

ParcelFileDescriptor从下面的链接中读到了.

http://developer.android.com/reference/android/os/ParcelFileDescriptor.html

但我从中得不到任何想法.它是什么?它能做什么?

有人能解释一下吗?

Ren*_*eno 20

这是什么?

文件描述符是进程用于读取或写入打开文件并打开网络套接字的对象.

FileDescriptor可以编写表示原始Linux文件描述符标识符的对象,并ParcelFileDescriptor返回对象以对原始文件描述符进行操作.返回的文件描述符是原始文件描述符的副本:对象和fd不同,但在相同的底层文件流上操作,具有相同的位置.

它能做什么?

创建管道,从套接字创建fds,打开/关闭文件.


pla*_*hos 5

它实现了Parcable API,该API允许将其放入Bundles和Intents中。甚至有可能在进程之间发送FileDescriptor。(我还没有测试过)。

另外,VPNService还为您提供了一个ParcelFileDescriptor。

  • @plaisthos 文件描述符是比路径更低级别的实体。可能并不总是可以获得引用您的文件描述符的路径。例如,如果文件从一个目录移动到另一个目录,则路径会更改,但文件描述符不会更改。可能有多个路径指向同一个文件。文件的路径就像网页的链接。 (2认同)