【发布时间】:2020-11-29 14:48:49
【问题描述】:
我正在开发一个应用程序,其中我有一个 Java 应用程序层和一个服务,它只不过是 C++ 中的一个插件。我需要从应用层调用本机代码API,这些API将通过AOSP框架开发的JNI层调用。
现在的问题是,我需要将一大块数据从应用层传递到原生层,然后再通过 JNI 调用传递到原生层。
我不想直接传递数据,而是想使用 sharedMemory (或任何有效的方式)。谁能建议我如何将数据从应用程序层传递到本机代码?
是否有任何可用的方法可以让我在本机层分配内存并从应用程序层访问该内存位置以将数据存储到该内存位置?
我不能使用用户实现的 JNI 层。
【问题讨论】:
-
使用FlatBuffers(或其他一些内存效率高、跨语言的数据序列化库)。
标签: java c++ shared-memory communication