我一直在我的应用程序中使用事件总线(即:greenrobot/EventBus)。但是我发现使用事件总线有一些缺点:
- 链接任务执行很困难
- 很多类来表示事件
- 不太清晰的代码(嗯,它仍然可以追踪,但不是那么清晰)
我一直在研究解决这个问题的新技术。我读了很多关于 RxJava 的文章,想知道它是否可以成为一个解决方案。
所以我关于 RxJava 的问题(基于我最近阅读的内容):
- RxJava 观察者可以随时注册吗?所以不仅仅是在创建 Observable 时。使用 EventBus,这是可能的,我可以随时订阅,而不仅仅是在创建 Observable 时。
- 您如何处理两个或多个发布者发布相同类型的事件(例如:导航事件)?
- 将发布者和订阅者紧密耦合意味着我每次都必须明确指定发布者。所以我不仅要担心事件的类型,还要担心发起者。使用 EventBus,我只需要担心事件的类型而不是发起者。