一、前言
最近研究了一下项目上用的一个类EventBus框架,由于EventBus都在对象初始化的时候注册,导致启动非常耗时(注册是要遍历所有方法的),另外发现比较多消息处理的方法耗时非常长,导致后面的方法等待时间很长,而因为同一个业务包含了很多个模块,分属不同的部门负责,而这些模块共用一个EventBus,导致维护相当困难,所以花了几个小时,参考了相关框架,做了一个轻量级的EventBus框架,即LightEventBus,采用的懒遍历方式,即不在注册的时候遍历方法,同时引入分组的概念,可以按照业务分组或者组件分组,事件分发相互隔离,并且增加了请求-响应模型,当想要什么数据的时候,可以发送事件去请求数据,增加钩子,管理生命周期,即使不注销也不会出现内存泄露。因为考虑到异步会让框架比较大,做不到轻量,故暂不支持异步。
二、LightEventBus介绍
github地址:https://github.com/newhope1106/lighteventbus
下面引用github上的介绍
轻量级EventBus是什么
轻量级EventBus,即LightEventBus,主要面向业务单元或组件级别的通信框架,提出了分组的概念,具有以下特性:
1.特意设计成不支持异步,以业务单元划分或组件单元划分的常见通信,异步使用极少,而且异步会导致框架变得臃肿,这也