25

我了解如何使用 Intent 与系统/其他应用程序进行通信。我了解如何在同一个 App 中使用 Intent。我也了解如何使用 Otto 在同一个 App 内进行通信。

使用 Otto 与 Intents 在我的活动/服务之间进行通信的优缺点是什么?

4

1 回答 1

39

使用 Otto 的优点:

  • 您可以设计自己的事件类型,而不必使用自定义操作或其他东西来区分Intent彼此

  • 一切都在您自己的过程中(与startActivity()和 kin 相比,它总是涉及 IPC,即使您开始的活动是在您自己的应用程序中),以提高速度和安全性

  • 少一点编码,因为您不必实例化IntentFilterBroadcastReceiver对象

  • 它提供了生产者模式(作为粘性广播的准替代品)

  • 由于不是操作系统的一部分,它有可能更频繁地更新

使用 Otto 的缺点:

  • 它无法启动活动

  • 它无法启动服务

  • 它不能绑定到服务

  • 它无法发送广播

  • 它不能用于PendingIntent或用于任何真正的 IPC

IOW,Otto 的真正比较是与LocalBroadcastManager,而不是与Intents.

于 2013-06-26T11:00:16.883 回答