【技术实现步骤摘要】
全局事件总线控制方法、装置、电子设备及可读存储介质
[0001]本申请涉及计算机
,尤其涉及一种全局事件总线控制方法、装置、电子设备及可读存储介质。
技术介绍
[0002]现有技术中,应用程序中包括一个全局事件总线用以进行不同页面间的事件传递和接收,全局事件总线可以通过如EventBus及基于官方组件库中的LiveDataBus实现,其中,EventBus是一种开源框架的事件总线的实现方法,LiveDataBus是一种基于LiveData实现的类似EventBus的消息通信框架,LiveData是一种可观察监听的数据存储类。其中,全局事件总线基于LiveData的观察者模式来实现事件通知。
[0003]然而,在根据EventBus构建全局事件总线,并通过全局事件总线控制全局事件时,全局事件总线通过注解方法参数类型分发全局事件,因此每个全局事件存在一个对应的数据类,随着时间推移、应用程序迭代或系统升级,数据类会越来越多,从而导致应用程序对数据类的维护困难,并且当接收者过多或存在多个相同参数时难以区分传递全局事件的 ...
【技术保护点】
【技术特征摘要】
1.一种全局事件总线控制方法,其特征在于,包括:监听应用程序的全局事件;监听到所述全局事件的产生,基于构建的全局事件总线中获取函数获取所述全局事件的事件名称及分类标签,所述分类标签包括粘性标签及非粘性标签,所述粘性标签表征所述全局事件为粘性事件,所述非粘性标签表征所述全局事件为非粘性事件;基于所述全局事件总线中接收函数确定所述全局事件的接收方及对应的生命周期;基于所述生命周期及所述分类标签控制所述接收方接收所述全局事件。2.根据权利要求1所述的方法,其特征在于,基于构建的全局事件总线中获取函数获取所述全局事件的事件名称及分类标签之后,还包括:基于所述事件名称及所述分类标签,判断对应的事件集合中是否存在所述全局事件,所述事件集合包括粘性事件集合和非粘性事件集合,所述粘性事件集合用于保存所有粘性事件,所述非粘性事件集合用于保存所有非粘性事件;若不存在,获取所述全局事件的数据信息,按照所述数据信息在所述事件集合中创建所述全局事件;若存在,在对应的所述事件集合中调用所述全局事件。3.根据权利要求1所述的方法,其特征在于,基于所述全局事件总线中接收函数确定所述全局事件的接收方及对应的生命周期之前,还包括:基于所述分类标签调用所述全局事件的数据流,并基于发送函数发送所述全局事件的数据信息;基于所述分类标签调用所述全局事件的数据流,并基于发送函数发送所述全局事件的数据信息包括:当所述分类标签为粘性标签,基于所述发送函数、所述粘性事件集合及粘性数据流发送所述全局事件的数据信息;当所述分类标签为非粘性标签,基于所述发送函数、所述非粘性事件集合及非粘性数据流发送所述全局事件的数据信息。4.根据权利要求3所述的方法,其特征在于,所述发送函数还包括延时时间,基于发送函数发送所述全局事件的数据信息包括:基于所述数据信息判断所述全局事件是否存在延时时间;若存在,基于所述延时时间通过全局生命周期管理类函数获取对应的延时事件数据类,基于所述延时事件数据类调用所述发送函数发送所述数据信息;若不存在,将所述延时时间设置为无,基于所述延时事件数据类调用所述发送函数发送所述数据信息。5.根据权利要求1所述的方法,其特征在于,基于所述生命周...
【专利技术属性】
技术研发人员:张鑫,修怀忠,
申请(专利权)人:重庆赛力斯新能源汽车设计院有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。