android – 使用Intents或事件总线在同一个应用程序内进行通信

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

使用Otto与Intents在我的活动/服务之间进行沟通的Pro / Cons是什么?

最佳答案
使用Otto的好处:

>你可以设计自己的事件类型,而不必使用自定义动作或某物来区分一个Intent和另一个Intent
>一切都在你自己的过程中(与startActivity()和kin,与始终涉及IPC,即使你开始的活动是在你自己的应用程序),速度和安全
>少一点编码,因为你不必实例化IntentFilter或BroadcastReceiver对象
>它提供生产者模式(作为粘性广播的准替换)
>不是操作系统的一部分,它有可能更频繁地更新

使用Otto的缺点:

>它无法启动活动
>无法启动服务
>它不能绑定到服务
>它不能发送广播
>它不能用于PendingIntent或任何真正的IPC

IOW,Otto的真正比较是用LocalBroadcastManager,而不是一般使用Intents。

转载注明原文:android – 使用Intents或事件总线在同一个应用程序内进行通信 - 代码日志