EventBus3.x的正确打开方式

EventBus的基本使用我就不介绍了,可以看GitHub地址。

EventBus内部默认使用的是运行时反射,反射当然是影响性能的。为此EventBus3.0做出了优化,但是只升级EventBus版本并没有用到优化策略,需要我们加些代码才行。

1.在gradle文件添加如下:

android {
    defaultConfig {
        javaCompileOptions {
            annotationProcessorOptions {
                arguments = [ eventBusIndex : 'com.example.myapp.MyEventBusIndex' ]
            }
        }
    }
}

dependencies {
    def eventbus_version = '3.2.0'
    implementation "org.greenrobot:eventbus:$eventbus_version"
    annotationProcessor "org.greenrobot:eventbus-annotation-processor:$eventbus_version"
}

2.编译项目,在Application中添加如下代码:

EventBus.builder().addIndex(new MyEventBusIndex()).installDefaultEventBus();

ok,现在EventBus内部已经不是用反射了(当然不是完全不用反射,而是把最该优化的地方替代了反射),而是用APT(注解解析工具)在编译时生成代码,从而提高了性能。

详细说明请看官网文档

你可能感兴趣的:(Android)