本文章同时发表在安卓巴士,欢迎大家前去观摩指导。
场景描述:
对于事件总线框架知道的人可能不多,但是进行过Android开发的程序猿们应该都有这样的经历。
1、在开发的过程中遇到过从Activity-A跳转到Activity-B,然后需要在Activity-B处理完某些工作之后回调Activity-A中的某个函数,但Activity又不能手动创建对象来设置一个Listener的情况。
2、遇到在某个Service中更新Activity或Fragment中的界面等组件之间的交互问题。
3、彻底退出应用的功能实现,需要管理activity列表的烦恼。
4、后台下载需要通知各个组件的情况。
5、Fragment之间的通信问题。
有什么用:
事件总线框架简化了Activity、Fragment、Service等组件之间的交互,让代码更简洁,耦合性更低,相比以往的广播或者序列化对象来传递,事件总线就简约和高效了很多。Event Bus模式也被称为Message Bus或者发布者/订阅者(publisher/subscriber)模式,可以让两个组件相互通信,但是他们之间并不相互知晓。
主要作用
1、它承担传输数据的作用
2、它可以解耦模块之间的耦合性
3、简化代码逻辑
4、相比传统方法要更加高效
5、消息可以在任意线程和位置发送
6、接受消息并执行逻辑的方法可以在任意线程运行(可以设置运行的线程) <