我想要一个ashmem
从本机代码映射和访问的共享内存块(一个区域)。我还希望这个块被多个应用程序使用。我也希望它在 SDK 7 级(Android 2.1)上工作
有两条路线。我可以在本机代码中创建一个 ashmem 区域;但问题是 - 我如何将整数文件描述符传递给另一个进程?您可以通过 a 编组FileDescriptor
对象Parcel
,但无法围绕原始 FD 构造对象。还有ParcelFileDescriptor
支持构造和检索整数 FD,但相关方法仅在 SDK 级别 12 或更高级别中支持。
或者,我可以创建一个MemoryFile
. 在 Parcels 中传递它有一种丑陋的方式。但是我如何从中检索文件描述符,以便本机代码有一些东西mmap()
呢?