什么是EventBus?
EventBus是一个Android和Java的开源库,使用发布者/订阅者模式进行松散耦合。 EventBus只需几行代码即可实现与分离类的集中通信 - 简化代码,消除依赖关系,并加速应用程序开发。
消息发布者通过EventBus将事件发送给消息订阅,具体流程如下图所示:
使用EventBus带来的好处
- 简化了组件之间的通信
- 将事件发送者和接收者分离
- 在UI工件(例如,活动,片段)和后台线程中表现良好
- 避免复杂且容易出错的依赖关系和生命周期问题
- 高效; 专门针对高性能进行了优化
- Jar包占用小(jar包小于50k )
- 具有线程传递、订阅者优先等高级功能。
EventBus的特性
- API基于注解
- 事件可在主线程中传递
- 事件可在后台线程中传递
- 可配置化
- 框架容易上手