使用Rxjava有一段时间了,最近发现Rxbus和Rxjava配合使用体验很好,于是记录一下
首先说一下RxBus是什么?
一句话概括:用注册订阅者模式实现的通讯方式。
简简单单的一个 观察者observable 与 Subscriber。RxBus并不是一个库,而是一种模式,用过EventBus的都知道采用了观察者模式。如果我们在使用Rxjava了,并且减少库的依赖,那么我们可以用RxBus去代替EventBus。

RxBus能在项目中做什么
它是以observable 与 Subscriber 实现的,正常注册订阅所传递的参数我们都是可以传递的。在项目中我们不例外的都是
Activity,Fragment 互相与各自间的传递 String Object!完全够用是不是!传递对象的时候序列化对象也不是那么必要的。
是不是感觉很方便,一步post调任何Object与String的参数。越厉害 越简单
我们为什么要在项目中使用
1,当我们项目已经导入了Rxjava,RxAndroid 的时候,你自己创造的Rxbus能替换掉EventBus,瞬间发觉自己好牛是不是。而且项目中也少一个三方库,Apk也瘦身了。
2,方便易用,一个你自己完成的极简通讯方式,更不容易出现未知的bug。它的效率也是毋庸置疑的,很多大项目都是自己创建Rxbus取代EventBus的使用。
使用步骤如下:
1.第一步———添加Rxjava和RxAndroid依赖:
在App的build.gradle目录下添加
implementation 'io.reactivex.rxjava2:rxjava:2.2.3'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'

2.第二步————新建RxBus基类:

/**
* @作者: njb
* @时间: 2019/8/28 17:59
* @描述:
*/
public class RxBus {
private volatile static RxBus mDefaultInstance;
private final Subject