我了解如何使用 Intent 与系统/其他应用程序进行通信。我了解如何在同一个 App 中使用 Intent。我也了解如何使用 Otto 在同一个 App 内进行通信。
使用 Otto 与 Intents 在我的活动/服务之间进行通信的优缺点是什么?
我了解如何使用 Intent 与系统/其他应用程序进行通信。我了解如何在同一个 App 中使用 Intent。我也了解如何使用 Otto 在同一个 App 内进行通信。
使用 Otto 与 Intents 在我的活动/服务之间进行通信的优缺点是什么?
使用 Otto 的优点:
您可以设计自己的事件类型,而不必使用自定义操作或其他东西来区分Intent
彼此
一切都在您自己的过程中(与startActivity()
和 kin 相比,它总是涉及 IPC,即使您开始的活动是在您自己的应用程序中),以提高速度和安全性
少一点编码,因为您不必实例化IntentFilter
或BroadcastReceiver
对象
它提供了生产者模式(作为粘性广播的准替代品)
由于不是操作系统的一部分,它有可能更频繁地更新
使用 Otto 的缺点:
它无法启动活动
它无法启动服务
它不能绑定到服务
它无法发送广播
它不能用于PendingIntent
或用于任何真正的 IPC
IOW,Otto 的真正比较是与LocalBroadcastManager
,而不是与Intents
.