EventBus源码解析

EnentBus注册源码说明

  1. 通过反射或注解的方式获取当前订阅者所有的订阅方法
  2. 获取当前订阅者订阅方法的事件类型
  3. 将当前订阅者添加到EventBus总的subscriptionsByEventType集合中
  4. 根据优先级,将订阅者插入到指定的位置
  5. 获取当前订阅者所有订阅的事件类型的typesBySubscriber集合
  6. 将该事件类型添加当前订阅者的typesBySubscriber中

EventBus发送事件源码说明

  1. 得到要发送事件的类型
  2. 根据事件类型获取所有的订阅者(subscriptionsByEventType)
  3. 循环向每个订阅者发送事件

EventBus解注册源码说明

  1. 通过typesBySubscriber获取该订阅者的所有事件类型
  2. 循环遍历每一个事件类型
  3. 获取事件类型的所有订阅者
  4. 遍历订阅者集合,如果查询的订阅者是当前页面的订阅者,才删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值