EventBus3.0-配置

配置(Configuration)

EventBusBuilder用于设置EventBus的Config信息。比如设置EventBus,防止发送的事件没有订阅者:

EventBus eventBus = EventBus.builder()
    .logNoSubscriberMessages(false)
    .sendNoSubscriberEvent(false)
    .build();

另一个例子是失败时订阅者抛出异常。注意,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里面进行配置是一个不错的选择。

你可能感兴趣的:(EventBus官方教程)