gpt4 book ai didi

android - 使用 Intent 或事件总线在同一个应用程序中进行通信

转载 作者:IT老高 更新时间:2023-10-28 22:14:08 26 4
gpt4 key购买 nike

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

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

最佳答案

使用 Otto 的优点:

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

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

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

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

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

使用 Otto 的缺点:

  • 无法启动 Activity

  • 无法启动服务

  • 无法绑定(bind)到服务

  • 无法发送广播

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

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

关于android - 使用 Intent 或事件总线在同一个应用程序中进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17317922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com