0

在我正在设计的应用程序中,我有一个连接到通信总线的后端服务,它收集大量数据并与远程设备通信。我在另一个 APK 和进程中有一个前端 (UI)。

我需要在这两个进程之间以非常高的速度(微秒)流动大量数据、通信事件和用户事件。下面是一个示例:进程 A 可能会通过通信总线接收组成位图图像的数据块。由于这个过程不在主 UI 线程中,我不能使用 Canvas 和 Bitmap 类来创建实际的位图,我所能做的就是存储数据。进程 B(UI 线程)需要这些数据来实际创建和显示位图图像。将数据从进程 B 传递到进程 A 需要非常快速地进行 - 希望就像从一个方法调用另一个方法在同一进程中发生的时间一样。

作为 Android 的新手,我正在为这个概念而苦苦挣扎。我看过 AIDL,它看起来很有希望,但我还不知道。

有没有人对如何以相当高的速度在两个进程之间来回共享数据有任何想法?

4

1 回答 1

1

你是对的,Android 中进程之间通信的最佳方式是 AIDL。

我能想象到的唯一可能提高性能的方法是在进程之间共享内存。但是,我认为您需要为此降低级别。例如,您可以查看这篇文章:http ://www.androidenea.com/2010/03/share-memory-using-ashmem-and-binder-in.html

但是,在大多数情况下,AIDL 应该很快。

祝你好运

于 2012-09-03T20:13:56.990 回答