首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

EventBusEventBus 源码解析 ( EventBus 构建 | EventBus 单例获取 | EventBus 构造函数 | EventBus 构建者 )

文章目录 一、EventBus 单例获取 二、EventBus 构造函数 三、EventBus 构建者 一、EventBus 单例获取 ---- 在 EventBus 中 , 不论是进行注册 , 取消注册..., 还是发送信息 , 都需要调用 EventBus.getDefault() , 获取一个 EventBus 的实例对象 , 这个实例对象是 单例对象 ; 在 EventBus.getDefault(...前 , 突然在其它线程中创建了 EventBus 并且注册了订阅者 , 新创建的 EventBus 实例对象肯定会覆盖旧的 EventBus , 但是旧的 EventBus 中的订阅者就彻底消失了 ;...双重加锁校验 可以保证 EventBus 实例对象 全局 全时间线 唯一 ; /** * EventBusJava和Android的中央发布/订阅事件系统。...实例对象 ; 在 EventBus(EventBusBuilder builder) 构造函数中 , 初始化了一堆数据 ; /** * EventBusJava和Android的中央发布/订阅事件系统

63210
您找到你想要的搜索结果了吗?
是的
没有找到

EventBusEventBus 源码解析 ( 取消订阅 )

文章目录 一、取消订阅 二、取消订阅 unsubscribeByEventType 方法 一、取消订阅 ---- 【EventBusEventBus 使用示例 ( 最简单的 EventBus 示例 )...示例中 , 在 MainActivity 中调用 // 取消注册 EventBus.getDefault().unregister(this); 方法 , 取消订阅 ;...取消订阅是以对象为单位的 , 一旦调用了 EventBus 的 unregister 方法 , 并传入 订阅者对象 , 则该订阅者对象中的所有 订阅方法 , 都会被 取消订阅 ; 在 【EventBus...】EventBus 源码解析 ( 注册订阅者总结 | 从封装的数据结构角度分析 EventBus ) 博客中 , 介绍到注册订阅者 , 是将 事件参数类型 和 订阅者信息 添加到 Map<Class<?...subscriptionsByEventType 集合中查找参数类型对应的 订阅者类 对应的订阅者方法 , 从上述集合中移除相应的 订阅者类及相关的订阅方法 , 即可完成 取消订阅的操作 ; public class EventBus

44010

EventBus使用详解

在同事的建议下学习了EventBus,在此做一下学习记录,侵权请告知一定及时删除。 EventBus概述   EventBus是针一款对Android的发布/订阅事件总线。...用法: (1)先定义一个类 public class MessageEvent { ....... } (2)在需要接收消息的页面注册事件(类似于动态注册广播) EventBus.getDefault...().register(this); (3)发送消息 EventBus.getDefault().post(new MessageEvent()); (4)处理消息( 在3.0之后,消息处理的方法可以随便取名...,当我们点击解除注册Unregist EventBus按钮的时候,再次点击Post Message也不会收到任何消息了。...尾语 学习到最后发现EventBus其实并不难,和我们之前用的广播很类似,同样需要注册和解除注册,处理消息的方法就类似于广播接收者的onReceive(),同样也可以选择粘性性质。

98750

EventBus线程分发

EventBus支持线程分发,在上一篇博客EventBus简介以及初步使用中,了解到EventBus的使用主要涉及事件发送者,以及事件订阅者;对于发送和订阅这两个行为,可以在不同的线程中,这就是EventBus...MessageEvent(); messageEvent.setMessage("Hello World From Network"); EventBus.getDefault...如果post不是在主线程,那么事件处理会被直接在post线程中调用;如果post是主线程,EventBus使用了一个单一的background线程,那么所有主线程post的事件将会按照队列顺序进入,因此这要求事件处理尽可能快速返回...如果操作耗时,比如网络操作,或者大量运算,那么应该使用这种模式,EventBus后台使用线程池管理这些线程。...POSTING Android主线程 非Android线程,线程a MAIN Android主线程,阻塞主线程的发布 进入主线程的队列 MAIN_ORDERED 主线程队列 Android平台会进入主线程队列,Java

1.4K30
领券