Android远程方法(AIDL)与意图 - 性能和电池使用情况

eol*_*old 6 performance android interprocess aidl android-intent

我的团队正在开发一个Android项目,该项目由几个交换数据的Android应用程序组成(在同一部手机上).我们的想法是让几个应用程序收集一些数据并将这些数据发送到主应用程序.这里的主要挑战是在CPU负载和电池使用方面尽可能便宜地进行交换.

据我所知,有两种方法可以实现进程间通信:

  1. 意图和活动 - 一项活动捕捉另一项活动的意图
  2. 远程方法(通过AIDL)

我想知道在以下场景中哪些更有效:

  1. 非常频繁的消息/方法调用,发送/流量非常少(例如只传递一堆基元)
  2. 具有大流量块的较不频繁的消息/方法调用(例如,收集数据并定期发送几KB/MB的数据)
  3. 交换大数据块的非常频繁的消息/方法调用

无论是在比较方面还是与基准的参考/链接方面,我都将不胜感激.

小智 2

我认为对于 1) 你最好使用远程服务,对于 2) 和 3) 你最好写入文件或数据库。意图更多地用于不频繁的进程间通信以及启动应用程序和服务。