【发布时间】:2012-10-12 18:10:10
【问题描述】:
我想要一个从本机代码映射和访问的共享内存块(ashmem 区域)。我还希望这个块被多个应用程序使用。我还希望它在 SDK 7 级(Android 2.1)上工作
有两条路线。我可以在本机代码中创建一个 ashmem 区域;但接下来的问题是 - 我如何将整数文件描述符传递给另一个进程?您可以通过Parcel 编组FileDescriptor 对象,但无法围绕原始FD 构造一个对象。还有 ParcelFileDescriptor 支持构造和检索整数 FD,但相关方法仅在 SDK 12 级或更高级别中支持。
或者,我可以创建一个MemoryFile。有一个 fugly way 可以在 Parcels 中传递它。但是如何从中检索文件描述符,以便本机代码具有 mmap() 的内容?
【问题讨论】:
标签: android android-ndk shared-memory parcel ashmem