gpt4 book ai didi

Android 优点和缺点 : Event Bus and RxJava

转载 作者:可可西里 更新时间:2023-11-01 19:06:38 25 4
gpt4 key购买 nike

我一直在我的应用程序中使用事件总线(即:greenrobot/EventBus)。但是我发现使用 Event Bus 有一些缺点:

  • 链式任务执行很困难
  • 很多类来表示事件
  • 不太清晰的代码(好吧,仍然可以追踪,但不是那么清晰)

我一直在研究解决这个问题的新技术。我读了很多关于 RxJava 的文章,想知道它是否是一个解决方案。

所以我关于 RxJava 的问题(基于我最近阅读的内容):

  • 可以随时注册 RxJava 观察者吗?所以不仅仅是在创建 Observable 时。使用 EventBus 这是可能的,我可以随时订阅,而不仅仅是在创建 Observable 时。
  • 您如何处理两个或多个发布者发布相同类型的事件(例如:导航事件)?
  • 将发布者和订阅者紧密耦合,意味着我每次都必须明确指定发布者。所以我不仅要担心事件的类型,还要担心发起者。使用 EventBus,我只需要担心事件的类型,而不是发起者。

最佳答案

1) 一旦你有了一个 Observable 的实例,你就可以在任何时间从任何线程订阅它,甚至可以同时订阅。

2) 我们通常通过 Observable.merge() 或使用序列化的 PublishSubject 合并多个 observable 的流。

3) 如果您观察一个 Observable,可能会涉及数十个上游运算符和源,但无论如何您都会得到一个连续的值流。您只需要捕获一个代表某些事件源的 Observable,而观察者不需要知道事件是否被合并、过滤、通过网络进行往返以及在到达您的 onNext() 方法之前是否被延迟。您可以自然地实现或使用一些查找服务,这将为您提供一个 Observable 以减少耦合,但是对于 RxJava,耦合通常不是问题。

关于Android 优点和缺点 : Event Bus and RxJava,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30147877/

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