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 方法 )