我一直在我的应用程序中使用Event Bus(即:greenrobot / EventBus)。但我发现使用事件总线存在一些缺点:
我一直在研究处理这个问题的新技术。我读了很多关于RxJava的内容,并想知道它是不是一个解决方案。
所以关于RxJava的问题(根据我最近阅读的内容):
答案 0 :(得分:9)
1)一旦你有一个Observable的实例,你可以随时从任何线程订阅它,甚至可以同时订阅它。
2)我们通常通过Observable.merge()合并多个observable的流,或者使用序列化的PublishSubject。
3)如果您观察到一个Observable,可能会涉及到数十个上游操作符和源,但无论如何,您都会获得连续的值流。您只需要保留代表某些事件源的Observable,并且观察者不需要知道事件是否被合并,过滤,在网络上进行了往返并且在到达您的onNext()之前被延迟了方法。您可以自然地实现或使用一些查找服务来获得Observable来减少耦合,但是使用RxJava,耦合通常不是问题。