1
我们有一个使用c-protobuf接口和C++包装API编写的用C语言编写的传统协议栈,它需要移植到Android并使用AIDL接口开发Java服务。所以下面是问题,Google protobuf可以用于Android中C和Java服务之间的通信吗?
我们可以删除C++接口,并让Java服务通过protobuf与C-本机进程通话吗?
另一种方法是剥离的c-protobuf的接口和开发JNI接口。 protobuf与JNI方法之间的折衷是什么?
据我所知性能将是一个问题,由于IPC,系列化等相比JNI方法。考虑到Java和Android环境,这种方法是否还有其他主要缺点?此外,该服务将被多个用户应用程序使用。
我会去#2,它会比#1快得多(即使你使用的是unix管道而不是套接字) – pskink