Android Java 和原生进程之间有啥快速简单的 IPC 机制吗?

Posted

技术标签:

【中文标题】Android Java 和原生进程之间有啥快速简单的 IPC 机制吗?【英文标题】:Is there any quick and simple IPC mechanism between Android Java and native processes?Android Java 和原生进程之间有什么快速简单的 IPC 机制吗? 【发布时间】:2014-09-28 09:40:24 【问题描述】:

我有这样的要求。 在android原生服务进程中,我们会做一些事情,并以恒定的速度向java层发布数据,即每秒30个。在 App 层,我们必须接收这些数据并进行相应的操作。原生服务和App在两个不同的进程中,我们应该尽快做。

我知道 binder 可以解决我的问题,但实施起来很繁重。 有什么快速简单的IPC机制可以满足我的要求吗?最好有示例代码。谢谢。

【问题讨论】:

【参考方案1】:

我有一个利用 Android 属性机制的快速解决方案。

在原生服务中,我设置了一个属性:

char value[PROPERTY_VALUE_MAX];    
memset(value, 0, sizeof(value));    
sprintf(value, "%d:%d:%d:%d", x, y, width, height);    
property_set("mstar.media.face", value);     

在 java 应用程序中,我得到了这个属性

String sFace = SystemProperties.get("mstar.media.face", "");

这可能不是最好的解决方案,但可以满足我的要求。 我稍后会寻找更好的解决方案。

【讨论】:

以上是关于Android Java 和原生进程之间有啥快速简单的 IPC 机制吗?的主要内容,如果未能解决你的问题,请参考以下文章

Android NDK开发简介 NDK和SDK以及JNI有啥关系

Android系统 WebView是啥?有啥用?

java多线程以及Android多线程

h5做app和原生app有啥区别?

Android培训课程有啥内容

笔试常见简答题