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