EventBus初学总结

作者: 粘豆猫 | 来源:发表于2018-07-13 00:06 被阅读2次

什么是EventBus?

EventBus是基于发布/订阅者机制的,对事件进行发布和接受,例如Intent、Handler、Broadcast等功能,但是EventBus相对于前者们  开销小,解耦性强。

使用EventBus

首先要添加依赖

compile 'org.greenrobot:eventbus:3.1.1'

介绍:

EventBus基于发布/订阅者模式,首先要创建一个事件,其次进行发布、订阅。

1.创建事件

自定义一个事件类,定义用来传输的数据的类型。

2.订阅事件

分三步

1. 注册订阅者

2.订阅事件

3.注销订阅者

1) 注册订阅者

2) 订阅事件

订阅事件要用@Subscribe 注解来定义

其中threadMode有四种类型

1. POSTING (默认) :表示事件处理跟发布事件在同一个线程。

2. MAIN 表示事件处理在主线程(UI)线程(在这里不能进行耗时操作)。

3. BACKGROUND 表示事件处理在后台线程。

4. ASYNC 表示事件处理始终会新建一个子线程运行(同样不能进行UI操作)。

3) 注销订阅者

3. 发布事件

在需要的地方发布事件,所有订阅了该类型事件并已注册的订阅者将收到该事件

另外还有 粘性事件

      粘性事件指的是:如果先发布了事件,然后有订阅者订阅了该事件,那么除非再次发布该事件,否则订阅者将永远接收不到该事件。此时,可以使用粘性事件。发布一个粘性事件之后,EventBus将在内存中缓存该粘性事件。当有订阅者订阅了该粘性事件,订阅者将接收到该事件。

参考:EventBus使用详解

相关文章

  • EventBus初学总结

    什么是EventBus? EventBus是基于发布/订阅者机制的,对事件进行发布和接受,例如Intent、Han...

  • Android Eventbus 初学

    首先今天遇到的坑 接收者 必须是被打开的状态 也可以说没被销毁状态 2.配置 3.混淆 4.用法 5.另一篇文章

  • EventBus工作原理

    以下总结转自:EventBus源码研读 EventBus工作原理 最后我们再来从设计者的角度看一看EventBus...

  • Rexxar Android 系列学习(4) 错误处理

    EventBus 首先介绍一下 EventBus ,具体可以查看之前总结的 SimpleNews 项目的重构之旅(...

  • EventBus总结

    EventBus一直在使用,对它的原理也大致明白,但是具体的细节却不清不楚的,有时候会想一个问题,让我自己写这么一...

  • EventBus总结

    EventBus简述: EventBus基于观察者模式,把发送事件者和接受事件者分开的一种发布/订阅事件总线框架。...

  • EventBus总结

    一、Android消息传递之Handler消息机制(www.cnblogs.com/whoislcj/p/5590...

  • 源码解析EventBus的注册及事件发送

    最近正在学习EventBus源码,正好总结记录一下~ EventBus是一个针对Android优化的发布-订阅事件...

  • Eventbus

    以下都是本人收集和总结的内容: 1. 什么是Eventbus EventBus是一个基于观察者模式的事件发布/订阅...

  • EventBus的简单使用

    EventBus 做个阶段总结 项目上用的越来越多了 之前项目上一直用的是广播 换成eventbus之后感觉世...

网友评论

    本文标题:EventBus初学总结

    本文链接:https://www.haomeiwen.com/subject/shldpftx.html