本申请涉及计算机,尤其涉及一种应用程序运行方法、装置、设备及存储介质。
背景技术:
1、当前游戏视频直播发展方兴未艾,其中最热门的,当属具备电竞属性的游戏举办的各类赛事。越来越多的玩家通过相关的官方赛事或视频直播平台直播自己的游戏进程,也有越来越多的游戏运营会在自己游戏客户端内嵌视频直播的功能;而内嵌视频直播模块通常会有多个版本。相关技术在对多个版本的模块进行编译出包时,不做差异化,获取每个版本的全部类对应的代码集,而多个版本的代码集对应的体积较大,占据的内存较大,从而会影响设备的运行稳定性。
2、因此,有必要提供一种应用程序运行方法、装置、设备及存储介质,降低了目标代码文件占用的内存,从而提高了终端的运行稳定性。
技术实现思路
1、本申请提供了一种应用程序运行方法、装置、设备及存储介质,可以降低目标代码文件占用的内存,从而提高终端的运行稳定性。
2、一方面,本申请提供了一种应用程序运行方法,所述方法包括:
3、获取目标标识信息对应的至少两个版本的应用程序;
4、根据每个版本的应用程序对应的抽象语法树,确定每个应用程序对应的类节点集;
5、以每个类节点集中的类节点作为根节点,遍历每个根节点对应的抽象语法树,得到每个类节点对应的子树;
6、根据每个类节点对应的子树,确定各个应用程序的相同类节点以及每个应用程序的区别类节点;
7、根据所述相同类节点对应的代码以及每个应用程序的区别类节点对应的代码,确定目标代码文件;
8、向终端发送所述目标代码文件,以使所述终端基于所述目标代码文件运行任一版本的应用程序。
9、另一方面提供了一种应用程序运行装置,所述装置包括:
10、应用程序获取模块,用于获取目标标识信息对应的至少两个版本的应用程序;
11、类节点集确定模块,用于根据每个版本的应用程序对应的抽象语法树,确定每个应用程序对应的类节点集;
12、子树构建模块,用于以每个类节点集中的类节点作为根节点,遍历每个根节点对应的抽象语法树,得到每个类节点对应的子树;
13、区别类节点确定模块,用于根据每个类节点对应的子树,确定各个应用程序的相同类节点以及每个应用程序的区别类节点;
14、目标代码文件确定模块,用于根据所述相同类节点对应的代码以及每个应用程序的区别类节点对应的代码,确定目标代码文件;
15、目标代码文件发送模块,用于向终端发送所述目标代码文件,以使所述终端基于所述目标代码文件运行任一版本的应用程序。
16、另一方面提供了一种应用程序运行设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上所述的应用程序运行方法。
17、另一方面提供了一种计算机存储介质,所述计算机存储介质存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如上所述的应用程序运行方法。
18、另一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行以实现如上所述的应用程序运行方法。
19、本申请提供的应用程序运行方法、装置、设备及存储介质,具有如下技术效果:
20、本申请通过获取目标标识信息对应的至少两个版本的应用程序;根据每个版本的应用程序对应的抽象语法树,确定每个应用程序对应的类节点集;以每个类节点集中的类节点作为根节点,遍历每个根节点对应的抽象语法树,得到每个类节点对应的子树;根据每个类节点对应的子树,确定各个应用程序的相同类节点以及每个应用程序的区别类节点;根据所述相同类节点对应的代码以及每个应用程序的区别类节点对应的代码,确定目标代码文件;向终端发送所述目标代码文件,以使所述终端基于所述目标代码文件运行任一版本的应用程序。本申请将不同版本的应用程序中代码按照相同类节点和区别类节点分成两部分,在构建目标代码文件时,仅使用一份相同类节点对应的代码,再结合各个应用程序的区别类代码形成目标代码文件,从而大大缩小了目标代码文件的体积,降低了其占用的内存,从而提高了终端的运行稳定性。
1.一种应用程序运行方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据每个类节点对应的子树,确定各个应用程序的相同类节点以及每个应用程序的区别类节点,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据每个类节点对应的子树以及每个子树中各个节点所引用的节点,确定每个类节点对应的关联节点集,包括:
4.根据权利要求2所述的方法,其特征在于,所述根据各个应用程序的同一标识的类节点对应的关联节点集,确定每个应用程序的区别类节点,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据每个应用程序对应的第一差异节点,确定每个应用程序的区别类节点,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据每个应用程序对应的第一差异节点以及第二差异节点,确定每个应用程序的区别类节点,包括:
7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述相同类节点对应的代码以及每个应用程序的区别类节点对应的代码,确定目标代码文件,包括:
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
9.根据权利要求8所述的方法,其特征在于,所述向终端发送所述目标代码文件,以使所述终端基于所述目标代码文件运行任一版本的应用程序,包括:
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
11.一种应用程序运行装置,其特征在于,所述装置包括:
12.一种应用程序运行设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1-10任一所述的应用程序运行方法。
13.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-10任一所述的应用程序运行方法。
14.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被处理器执行时实现如权利要求1-10任一所述的应用程序运行方法。