我理解如何使用Intents与系统/其他应用程序通信。我理解如何在同一个应用程序中使用Intents。我也理解如何使用Otto在同一个应用程序内进行通信。
使用Otto与Intents在我的活动/服务之间进行沟通的Pro / Cons是什么?
最佳答案
使用Otto的好处:
>你可以设计自己的事件类型,而不必使用自定义动作或某物来区分一个Intent和另一个Intent
>一切都在你自己的过程中(与startActivity()和kin,与始终涉及IPC,即使你开始的活动是在你自己的应用程序),速度和安全
>少一点编码,因为你不必实例化IntentFilter或BroadcastReceiver对象
>它提供生产者模式(作为粘性广播的准替换)
>不是操作系统的一部分,它有可能更频繁地更新
使用Otto的缺点:
>它无法启动活动
>无法启动服务
>它不能绑定到服务
>它不能发送广播
>它不能用于PendingIntent或任何真正的IPC
IOW,Otto的真正比较是用LocalBroadcastManager,而不是一般使用Intents。
相关文章
- c# - 同一个盒子上的进程间通信 - 两个应用程序或进程之间的通信
- Android Intents:从具有相同sharedUserId的另一个应用程序开始使用类名
- 两个Android应用程序使用一个Facebook应用程序进行共享,具有不同的包名
- 多线程 - 如果我在线程内部使用回调函数与我的应用程序的主线程进行通信,则存在任何缺点吗?
- 多线程 - x86_64 CPU是否使用相同的缓存线通过共享内存在两个进程之间进行通信?
- android - 如何打开电子邮件程序通过Intents(但只有一个电子邮件程序)
- java - 使用处理程序在UI线程和其他线程之间进行通信
- ios - 在同一个应用程序上使用两个Facebook应用程序ID进行测试