EventBus事件总线分发库
本文围绕以下六个部分展开: 一、事件总线管理 二、EventBus 三、EventBus与BroadcastReceiver的区别 案例一 案例二:一处点击发送数据,另一处或多处注册点可以及时获取更新传输过来的数据 案例三:Activity和Service之间互相发布与接收事件 一、事件总线管理 将事件放入队列里,用于管理和分发。 (1)保证应用的各个部分之间高效的通信及数据、事件分发。 (2)模块间解耦:通过事件的分发,可以让各个模块间关联程序变小。 当在开发一些庞大的的项目时,模块比较多,这个时候为了避免耦合度和保证 APP 的效率,会用到 EventBus 等类似的事件总线处理模型。这样可以简化一些数据传输操作,保证APP的简洁,做到高内聚、低耦合。 二、EventBus 1. 概念 EventBus是一个发布/订阅的事件总线。它可以让两个组件相互通信,但是它们之间并不相互知晓。 EventBus模式,也被称为 Message Bus模式,或者 发布者/订阅者(publisher/subscriber)模式。 事件响应有更多的线程选择,EventBus 可以向不同的线程中发布事件。 EventBus 支持 Sticky Event。 2. 有3个主要的元素: (1)Event:事件。 Event可以是任意类型的对象。 (2)Subscriber:事件订阅者,接收特定的事件。