本发明专利技术实施例公开了安装包生成方法、消息管理方法、装置、设备及存储介质。其中,安装包生成方法包括:在编译阶段,对第一模块中第一方法对应的第一注解进行解析,其中,第一注解在编码阶段被添加至第一方法,第一注解用于表明第一方法为第二模块产生第一事件时发出的第一消息的响应方法;根据解析结果和第一事件对应的第一事件标识,生成第一消息分发代码,第一消息分发代码用于调用第一方法;基于包含第一消息分发代码的事件总线模块生成对应的应用程序安装包。本发明专利技术实施例提供的技术方案,事件总线模块在编译阶段生成,可以提高应用程序运行效率以及运行阶段模块之间的消息通知效率。
Installation package generation method, message management method, device, equipment and storage medium
【技术实现步骤摘要】
安装包生成方法、消息管理方法、装置、设备及存储介质
本专利技术实施例涉及计算机
,尤其涉及安装包生成方法、消息管理方法、装置、设备及存储介质。
技术介绍
随着计算机技术的快速发展,各种计算机设备中安装的应用程序也越来越繁多,应用程序的功能日趋丰富和复杂化,使得同一个应用程序中通常包含多个功能模块。在同一个应用程序中,不同的功能模块之间需要建立消息桥梁,以便实现消息通知以及状态同步等。当需要建立消息桥梁的两个模块通过直接依赖的方式进行消息传递时,模块之间会形成强耦合,使得模块划分失去意义。一般的,需要在两个模块之间建立中间模块以实现模块间的解耦。然而,现有的解耦方式并不理想,也即现有的应用程序内部的消息管理方案并不完善,需要改进。
技术实现思路
本专利技术实施例提供了安装包生成方法、消息管理方法、装置、设备及存储介质,可以优化现有的应用程序内部的消息管理方案。第一方面,本专利技术实施例提供了一种应用程序安装包生成方法,该方法包括:在编译阶段,对第一模块中第一方法对应的第一注解进行解析,其中,所述第一注解在编码阶段被添加至所述第一方法,所述第一注解用于表明所述第一方法为第二模块产生第一事件时发出的第一消息的响应方法;根据解析结果和所述第一事件对应的第一事件标识,生成第一消息分发代码,所述第一消息分发代码用于调用所述第一方法;基于包含所述第一消息分发代码的事件总线模块生成对应的应用程序安装包。第二方面,本专利技术实施例提供了一种消息管理方法,应用于应用程序的运行阶段,所述应用程序对应的安装包通过本专利技术实施例提供的应用程序安装包生成方法生成,所述消息管理方法包括:通过事件总线模块接收第二模块发送的第一消息,其中,所述第二模块在产生第一事件时发出所述第一消息;根据所述第一消息对应的第一事件标识确定所述事件总线模块中对应的第一消息分发代码;利用所述第一消息分发代码调用所述第一方法,以使所述第二模块通过执行所述第一方法对所述第一消息进行响应。第三方面,本专利技术实施例提供了一种应用程序安装包生成装置,该装置包括:解析单元,用于在编译阶段,对第一模块中第一方法对应的第一注解进行解析,其中,所述第一注解在编码阶段被添加至所述第一方法,所述第一注解用于表明所述第一方法为第二模块产生第一事件时发出的第一消息的响应方法;消息分发代码生成单元,用于根据解析结果和所述第一事件对应的第一事件标识,生成第一消息分发代码,所述第一消息分发代码用于调用所述第一方法;安装包生成单元,用于基于包含所述第一消息分发代码的事件总线模块生成对应的应用程序安装包。第四方面,本专利技术实施例提供了一种消息管理装置,应用于应用程序的运行阶段,所述应用程序对应的安装包通过本专利技术实施例提供的应用程序安装包生成方法生成,该装置包括:消息接收单元,用于通过事件总线模块接收第二模块发送的第一消息,其中,所述第二模块在产生第一事件时发出所述第一消息;消息分发代码确定单元,用于根据所述第一消息对应的第一事件标识确定所述事件总线模块中对应的第一消息分发代码;方法调用单元,用于利用所述第一消息分发代码调用所述第一方法,以使所述第二模块通过执行所述第一方法对所述第一消息进行响应。第五方面,本专利技术实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本专利技术实施例提供的方法。第四方面,本专利技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术实施例提供的方法。本专利技术实施例中提供的应用程序安装包生成方案,在编译阶段,对第一模块中第一方法对应的第一注解进行解析,其中,第一注解在编码阶段被添加至第一方法,第一注解用于表明第一方法为第二模块产生第一事件时发出的第一消息的响应方法,根据解析结果和第一事件对应的第一事件标识,生成第一消息分发代码,第一消息分发代码用于调用第一方法,基于包含第一消息分发代码的事件总线模块生成对应的应用程序安装包。通过采用上述技术方案,在应用程序的编码阶段为第一模块中的方法添加注解,表明第一模块关注第二模块产生的事件,通过被添加注解的方法对该事件对应的消息进行响应,在编译阶段,自动解析注解并自动生成作为消息传递组件的事件总线模块,使得应用程序运行阶段,可以利用事件总线模块接收第二模块产生的对应该事件的消息,并调用第一模块中的方法进行响应,从而实现将第二模块的消息通知到第一模块,事件总线模块在编译阶段生成,可以提高应用程序运行效率以及运行阶段模块之间的消息通知效率。附图说明图1为现有技术中的一种应用程序中模块间消息传递示意图;图2为本专利技术实施例提供的一种应用程序安装包生成方法的流程示意图;图3为本专利技术实施例提供的又一种应用程序安装包生成方法的流程示意图;图4为本专利技术实施例提供的又一种消息管理方法的流程示意图;图5为本专利技术实施例提供的一种应用程序中模块间消息传递示意图;图6为本专利技术实施例提供的一种应用程序安装包生成装置的结构框图;图7为本专利技术实施例提供的一种消息管理装置的结构框图;图8为本专利技术实施例提供的一种计算机设备的结构框图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。此外,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。为了便于理解本专利技术实施例,下面对相关技术进行介绍。目前,相关技术中存在一种基于第三方开源框架事件总线(EventBus)的方案。EventBus是一款在安卓(Android)开发中使用的发布及订阅事件总线框架,基于观察者模式,将事件的接收者和发送者分开,简化了组件之间的通信,使用简单。在Android开发的各种场景都扮演着非常重要的角色,例如消息通知以及模块间状态同步。图1为现有技术中的一种应用程序中模块间消息传递示意图,基于EventBus的方案是在应用程序的编码阶段以注解(Annotation)的方式给观察者(模块B)类的函数方法打标记,在运行期间向EventBus注册观察者,通过反射解析标记,从而找到这个标记的方法,在做消息分发的时候以反射的方式进行这个方法的调用,当模块A需要向模块B发送消息通知时,由EventBus取出缓存的方法,以invoke方式通知模块B。专利技术人发现,该方案中被标记的模块需要在运行阶段进行观察者注册,且运行阶段涉及反射处理,这样对应用程序性能有一定的损耗,影响模块之间的消息通知效率。本专利技术实施例中,在应用程序的编译期间解析注解并生成事件总线模块,可以提高应用程序运行阶段模块之间的消息通知效率。图2为本专利技术实施例提供的一种应用程序安装包生成方法的流程示意图,该方法可以由应用程序安装包生成装本文档来自技高网...
【技术保护点】
1.一种应用程序安装包生成方法,其特征在于,包括:/n在编译阶段,对第一模块中第一方法对应的第一注解进行解析,其中,所述第一注解在编码阶段被添加至所述第一方法,所述第一注解用于表明所述第一方法为第二模块产生第一事件时发出的第一消息的响应方法;/n根据解析结果和所述第一事件对应的第一事件标识,生成第一消息分发代码,所述第一消息分发代码用于调用所述第一方法;/n基于包含所述第一消息分发代码的事件总线模块生成对应的应用程序安装包。/n
【技术特征摘要】
1.一种应用程序安装包生成方法,其特征在于,包括:
在编译阶段,对第一模块中第一方法对应的第一注解进行解析,其中,所述第一注解在编码阶段被添加至所述第一方法,所述第一注解用于表明所述第一方法为第二模块产生第一事件时发出的第一消息的响应方法;
根据解析结果和所述第一事件对应的第一事件标识,生成第一消息分发代码,所述第一消息分发代码用于调用所述第一方法;
基于包含所述第一消息分发代码的事件总线模块生成对应的应用程序安装包。
2.根据权利要求1所述的方法,其特征在于,所述对第一模块中第一方法对应的第一注解进行解析,包括:
利用预设注解处理器对第一模块中第一方法对应的第一注解进行解析;
所述根据解析结果和所述第一事件对应的第一事件标识,生成第一消息分发代码,包括:
利用所述预设注解处理器根据解析结果和所述第一事件对应的第一事件标识,生成第一消息分发代码。
3.根据权利要求2所述的方法,其特征在于,所述预设注解处理器通过预先编写的消息分发代码生成逻辑实现。
4.根据权利要求2所述的方法,其特征在于,所述预设注解处理器包括Java中的注解处理器APT。
5.根据权利要求2所述的方法,其特征在于,所述利用所述预设注解处理器根据解析结果和所述第一事件对应的第一事件标识,生成第一消息分发代码,包括:
利用所述预设注解处理器基于预设代码生成框架,根据解析结果和所述第一事件对应的第一事件标识,生成第一消息分发代码。
6.根据权利要求5所述的方法,其特征在于,所述预设代码生成框架包括Javapoet。
7.根据权利要求1所述的方法,其特征在于,所述第一模块中包含事件响应列表,所述事件响应列表中包含多个方法,所述第一方法包含于所述多个方法中。
8.根据权利要求7所述的方法,其特征在于,所述事件响应列表存在于所述第一模块中的至少两个位置处。
9.根据权利要求1-8任一所述的方法,其特征在于,所述应用程序为直播类应用程序,所述第一模块包括直播间连麦模块、主题房模块和对决模块中的任意一个,所述第二模块包括直播间连麦模块、主题房模块和对决模块中的任意一个,所述第一模块和所述第二模块不同。
10.一种消息管理方法,其特征在于,应用于应用程序的运行阶段,所述应用程序对应的安装包通过...
【专利技术属性】
技术研发人员:王星,陈双民,
申请(专利权)人:广州市百果园信息技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。