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