一、前言

从 EventBus 的介绍中,EventBus 给的定位是:

Event bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality

简单理解一下就是 Event bus 给 Android 及 Java (当然主要是 Android)的 Activity,Fragment,Threads,Services 之间提供一个简单的通信方式,从而能让我们用质量高且少的代码来完成我们的功能。

二、EventBus 详解之官文解读

2.1 架构概述

EventBus 是一个基于发布/订阅的设计模式的事件总线,其架构图如下。

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/4/29/16a64e5f72833b3d~tplv-t2oaga2asx-zoom-in-crop-mark:3024:0:0:0.awebp

从架构图上来看,还是很简单的,跟我们所最熟悉的观察者模式是类似的。大概工作过程就是: (1) Subscriber 也就是订阅者,订阅一个 Event,其中 Event 是自己定义的,符合 POJO 的规范即可。 (2) 在需要时,Publisher 也就是发布者,就可将事件通过 EventBus 分发布相应的订阅者 Subscriber。

恩,就是如此简单。当然,其实现远不会这么简单了,还是干了很多脏活和累活的。

2.2 特性概述

2.3 功能概述