RxBus + RxRelay实现不抛出异常的事件总线
RxRelay源码地址
依赖库:
implementation 'com.jakewharton.rxrelay2:rxrelay:2.0.0'
public class RxBus {
private Relay<Object> bus = null;
private static RxBus instance;
//禁用构造方法
private RxBus() {
//接收订阅之后数据
bus = PublishRelay.create().toSerialized();
//接受订阅之前一个和之后数据
//bus = BehaviorRelay.createDefault("Hello World");
//不管何时订阅,发送所有数据
//bus = ReplayRelay.create(5).toSerialized();
}
public static RxBus getInstance() {
return Holder.BUS;
}
public void post(Object event) {
bus.accept(event);
}
private static class Holder{
private static final RxBus BUS = new RxBus();
}
public <T></