配置(Configuration)
EventBusBuilder用于设置EventBus的Config信息。比如设置EventBus,防止发送的事件没有订阅者:
EventBus eventBus = EventBus.builder()
.logNoSubscriberMessages(false)
.sendNoSubscriberEvent(false)
.build();
【EventBus3.0-配置】另一个例子是失败时订阅者抛出异常。注意,EventBus 默认是捕获onEvent方法抛出的异常并且会发送一个可能没有被处理的事件SubscriberExceptionEvent 。
EventBus eventBus = EventBus.builder().throwSubscriberException(true).build();
具体关于EventBusBuilder的api,可以查看文档EventBusBuilder。
配置默认EventBus实例(Configure the default EventBus instance)
使用EventBus.getDefault() 可以在你的app中获取一个全局的EventBus实例。EventBusBuilder 也可以去为这个实例设置配置信息,只要使用installDefaultEventBus()方法。
例如,可以配置默认EventBus实例重新在onEvent方法有异常时抛出异常。但是我们只在DEBUG 阶段使用,因为这可能会导致应用闪退:
EventBus.builder().throwSubscriberException(BuildConfig.DEBUG).installDefaultEventBus();
注意:installDefaultEventBus的调用必须早于getDefault() 。后面在调用installDefaultEventBus()将会抛出异常。在Application里面进行配置是一个不错的选择。