EventBus flow
2017-03-27 17:57:16 0 举报
EventBus是一种基于发布/订阅模式的事件总线,主要用于组件间的通信。当一个组件(发布者)发生事件时,它会将事件广播出去,其他组件(订阅者)可以监听这个事件并作出相应的处理。EventBus的主要优点是解耦和简化组件间的通信,使得代码更加清晰和易于维护。在Android开发中,EventBus被广泛应用,如Activity与Fragment、Fragment与Fragment之间的通信等。然而,过度使用EventBus可能会导致内存泄漏和性能问题,因此在使用时需要注意。总的来说,EventBus是一种非常实用的工具,但需要合理使用。
作者其他创作
大纲/内容
把该事件放入事件缓存队列尾部
异步事件处理流程
模块调RegisterHandler注册事件监听器
事件缓存队列里是否有事件?
发送同步事件流程
模块调UnRegisterHandler删除事件监听器
结束
EventBus收到注册请求
是
开始
该监听对象是否已经注册该事件
EventBus收到事件请求
调用所有事件监听者的onEvent方法,将该事件作为参数传入
反注册事件监听器流程
将该监听对象从该事件监听者队列删除
将该监听对象加入该事件监听者队列
模块调SendEventSync发送同步事件
从队列头部取一个事件
否
map里是否有该事件的监听者队列?
模块调SendEventAsync发送同步事件
发送异步事件流程
创建该事件监听者队列
注册事件监听器流程
0 条评论
下一页