事件总线机制通过记录对象、使用监听者模式来通知对象各种事情。
EventBus框架
优点:开销小,代码更优雅,将发送者和接受者解耦。
涉及4个部分:订阅者、发布者、订阅事件、事件总线。
订阅者可以订阅多个事件,发布者可以发布任何事件,发布者同时也可以是订阅者。
简单的使用步骤:https://github.com/greenrobot/EventBus
P:订阅事件的对象在依附的Acitivity/Fragment/Service被注销时,一定要取消订阅,因为register是强引用,会让对象无法得到内存回收,导致内存泄露。
RxBus:是一种模式,基于RxJava响应式编程衍生而来的,只要引入RxJava和RxAndroid就可以非常简单的编写RxBus的事件总线。