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(註解解析工具)在編譯時生成代碼,從而提高了性能。

詳細說明請看官網文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章