事件总线机制通过记录对象、使用监听者模式来通知对象各种事情。


EventBus框架

优点:开销小,代码更优雅,将发送者和接受者解耦。

涉及4个部分:订阅者、发布者、订阅事件、事件总线。

订阅者可以订阅多个事件,发布者可以发布任何事件,发布者同时也可以是订阅者。

简单的使用步骤:https://github.com/greenrobot/EventBus

P:订阅事件的对象在依附的Acitivity/Fragment/Service被注销时,一定要取消订阅,因为register是强引用,会让对象无法得到内存回收,导致内存泄露。


RxBus:是一种模式,基于RxJava响应式编程衍生而来的,只要引入RxJava和RxAndroid就可以非常简单的编写RxBus的事件总线。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐