Android 进阶

事件总线

2019-10-18  本文已影响0人  LeoFranz

EventBus

一个用于简化Activity、Fragment、Thread的交流过程的框架,解耦订阅者和发布者,避免了容易出错的数据类型依赖和复杂生命周期,而且很轻量快捷。
实现原理就是将订阅者对象和由其class对象解析出来的SubscribeMethod对象以键值对的形式保存为subscription,同时会把eventType和Subscription、订阅者subscriber和subscribedEvents封装到集合中;
发布事件是将当前事件插入队列,然后根据event对象找出匹配的subscription,并检查订阅方法的线程模式,根据具体的模式将事件添加到对应线程的队列中等待执行。

demo地址:https://github.com/LeeFranz/Android-Network/tree/master/EventBusTest

上一篇下一篇

猜你喜欢

热点阅读