Android EventBus学习

什么是事件总线管理

将事件放到队列里,用于管理和分发

保证应用的各个部分之间高效的通信及数据,事件分发

模块间解耦


EventBus简介

EventBus是一个发布/订阅的事件总线。EventBus模式-也被称为MessageBus或者发布者/订阅者(publish/subscriber)模式- 可以让两个组件互相通信,但是他们之间并不互相知晓。(很像广播机制)

基于事件总线管理/订阅/分发模式的。事件响应有更多的线程选择,EventBus可以向不同的线程中发布事件。EventBus支持StickyEvent。(没接触过StickyEvent,查阅资料 应该是当处理完成之后,依然存在,知道手动去掉的事件,即滞留事件)

使用时需要先注册订阅,然后向订阅者分发消息数据即可。包含4个成分:发布者,订阅者,事件,总线。订阅者可以订阅多个事件,发送者可以发布任何事件,发布者同时也可以是订阅者。分订阅、注册、发布、取消注册等步骤。


EventBus与otto的对比

EventBus采用命名规范, otto采用注解,EventBus效率会高一些

EventBus支持交互线程、主线程、后台线程、异步的事件传递。otto只支持交互线程的事件传递

EventBus基本用法

注册 EventBus.getDefault().register(this,"接收方法名","事件类");  后面2个参数可省略

取消注册 EventBus.getDefault().unregister(this);

订阅接收处理数据  默认 public void Event(){}  

       主线程 public void onEventMainThread(){}

交互式线程 onEventPostThread

后台线程 onEventBackgroundThread

异步接收 onEventAsync

发布消息 EventBus .post("传递的数据");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值