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