EventBus
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EventBus相关的知识,希望对你有一定的参考价值。
EventBus 用来完成组件间通信的一个框架
它是一个发布者与订阅者的模式
简单实用分为三个步骤
1.定义事件
2.注册订阅者,声明订阅者 在需要接收信息的地方注册订阅者 并且声明订阅者 用 @Subscribe (注意:订阅者的声明必须是公共方法public)
@Subscribe(sticky = true,threadMode = ThreadMode.MAIN)
3.发布事件 在数据产生的地方发布事件 用post
动态注册的事件都是成对出现,有注册就会有取消注册
注册和广播的动态注册类似 在OnResume中注册 ,在onPause取消注册
粘性的EvenBus
1.定义事件 (需要传送的数据)
2.在onStart中注册订阅者 在onStop中取消订阅者 声明订阅者用 @Subscribe(sticky=true,threadMode=ThreadMode.MAIN)(用public 声明)
3.发布时间 在数据参数的地方 用stickyPost
fresco 图片加载框架
以上是关于EventBus的主要内容,如果未能解决你的问题,请参考以下文章
EventBusEventBus 事件总线框架简介 ( EventBus 使用流程 )
EventBusEventBus 源码解析 ( 注册订阅者 | 订阅方法 | 查找订阅方法 )
EventBusEventBus 源码解析 ( 事件发送 | 线程池中执行订阅方法 )
EventBusEventBus 源码解析 ( 事件发送 | postToSubscription 方法 | EventBus 线程模式处理细节 )
EventBusEventBus 源码解析 ( 注册订阅者 | 注册订阅方法详细过程 )
EventBusEventBus 源码解析 ( 事件发送 | EventBus.post 方法 | EventBus.postSingleEvent 方法 )