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(注解解析工具)在编译时生成代码,从而提高了性能。

详细说明请看官网文档

更多相关文章

  1. ffplay2 android 版正式公布
  2. android中的多媒体应用MediaPlayer
  3. Android进行单元测试难在哪-part4
  4. android中WebView和javascript实现数据交互实例
  5. NDK Android* 应用移植方法 APP_ABI := armeabi armeabi-v7a x86
  6. Android代码性能优化技巧 (一)
  7. 关于WebVeiw的例子(一)
  8. 【ArcGIS for Android】使用自定义Callout显示地图信息
  9. android studio 查找替换

随机推荐

  1. Android(安卓)studio ndk 开发轻松两步就
  2. Android Repo 超时的解决方法
  3. 使用React-navigation时候 Android物理返
  4. 【Android】不知道的 setLayoutParams
  5. SeekBar进度条的使用
  6. Android常用开源框架分享
  7. Android获取到inflate服务的方式及inflat
  8. Android开发入门之数据库例子
  9. android 应用 Ant脚本自动编译、打包、代
  10. Android USB Host