文章目录
一、事件发送 postSingleEventForEventType 方法
- 一、事件发送 postSingleEventForEventType 方法
- 二、事件发送 postToSubscription 方法
- 三、事件发送 invokeSubscriber 方法
首先 , 在同步代码块中 , 根据事件类型获取 Map, CopyOnWriteArrayList> subscriptionsByEventType
// 成员的值 , 即 CopyOnWriteArrayList 集合
// 每个集合元素都是 Subscription 对象
// 其中封装了 一个订阅者类 和 一个订阅方法
subscriptions = subscriptionsByEventType.get(eventClass);
}
遍历上述集合 , 调用 postToSubscription 方法 , 进行事件传递后续操作 , 主要是执行 订阅者 中的 订阅方法 ;
// 调用 postToSubscription 方法 , 进行事件传递后续操作
// 主要是执行 订阅者 中的 订阅方法
postToSubscription(subscription, event, postingState.isMainThread);
EventBus.postSingleEventForEventType 方法源码 :
public class EventBus {
private final Map subscriptionsByEventType;
private boolean postSingleEventForEventType(Object event, PostingThreadState postingState, Class eventClass) {
CopyOnWriteArrayList subscriptions;
synchronized (this) {
// 根据事件类型获取 Map
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?