EnentBus注册源码说明
- 通过反射或注解的方式获取当前订阅者所有的订阅方法
- 获取当前订阅者订阅方法的事件类型
- 将当前订阅者添加到EventBus总的subscriptionsByEventType集合中
- 根据优先级,将订阅者插入到指定的位置
- 获取当前订阅者所有订阅的事件类型的typesBySubscriber集合
- 将该事件类型添加当前订阅者的typesBySubscriber中
EventBus发送事件源码说明
- 得到要发送事件的类型
- 根据事件类型获取所有的订阅者(subscriptionsByEventType)
- 循环向每个订阅者发送事件
EventBus解注册源码说明
- 通过typesBySubscriber获取该订阅者的所有事件类型
- 循环遍历每一个事件类型
- 获取事件类型的所有订阅者
- 遍历订阅者集合,如果查询的订阅者是当前页面的订阅者,才删除