程序融合方法、装置、设备、存储介质及计算机程序产品与流程

文档序号:35977145发布日期:2023-11-09 20:08阅读:19来源:国知局
程序融合方法、装置、设备、存储介质及计算机程序产品与流程

本申请涉及计算机,特别涉及一种程序融合方法、装置、设备、存储介质及计算机程序产品。


背景技术:

1、小程序是一种无需安装即可使用的应用程序。随着小程序开发技术的不断发展,小程序对应的功能要求逐渐多样化,因此,将多个小程序融合生成一个融合小程序后,融合小程序可涵盖多个小程序分别对应的程序功能,一般性的,一个融合小程序中包括一个主程序和多个子程序。其中,每个小程序中包含一个主包和多个分包。

2、在相关技术中,针对融合小程序进行开发的过程中,需要对内存容量超过2兆的小程序进行手动拆包,以得到内存容量小于2兆的子程序,具体的,动手拆包需要重写配置文件(pages.json),不断测试每个分包的大小,并改造流水线,重写路由函数等,最终将拆包后的各小程序进行融合,得到最终的融合小程序。

3、然而在上述相关技术中,对小程序进行手动拆包的方式,需要人工编译多种文件代码内容,使得拆包的效率较低,进而小程序的融合效率较低。


技术实现思路

1、本申请实施例提供了一种程序融合方法、装置、设备、存储介质及计算机程序产品,能够提高小程序融合效率。所述技术方案如下:

2、一方面,提供了一种程序融合方法,所述方法包括:

3、获取n个小程序分别对应的应用包,所述n个小程序分别对应的应用包中包含至少一个待拆分应用包,所述待拆分应用包对应包括主包和至少两个分包,n为正整数;

4、基于所述至少两个分包对所述待拆分应用包进行应用包拆分,得到至少两个子应用包,所述子应用包用于指示通过所述应用包拆分后生成的子小程序对应的应用包;

5、针对所述至少两个子应用包中的目标子应用包,提取所述目标子应用包对应的多个分包之间的公共代码内容,并删除所述多个分包中的所述公共代码内容,所述公共代码内容是指所述多个分包中共同存在的代码内容;

6、基于所述公共代码内容,生成所述目标子应用包对应的主包;

7、基于所述至少两个子应用包分别对应的主包和分包,得到所述待拆分应用包的拆分结果,并基于所述拆分结果与其他小程序对应的应用包生成融合程序。

8、另一方面,提供了一种程序融合装置,所述装置包括:

9、获取模块,用于获取终端运行过程中显示的指定画面帧对应的数据集合,所述获取模块,用于获取n个小程序分别对应的应用包,所述n个小程序分别对应的应用包中包含至少一个待拆分应用包,所述待拆分应用包对应包括主包和至少两个分包,n为正整数;

10、拆分模块,用于基于所述至少两个分包对所述待拆分应用包进行应用包拆分,得到至少两个子应用包,所述子应用包用于指示通过所述应用包拆分后生成的子小程序对应的应用包;

11、提取模块,用于针对所述至少两个子应用包中的目标子应用包,提取所述目标子应用包对应的多个分包之间的公共代码内容,并删除所述多个分包中的所述公共代码内容,所述公共代码内容是指所述多个分包中共同存在的代码内容;

12、生成模块,用于基于所述公共代码内容,生成所述目标子应用包对应的主包;

13、所述生成模块,还用于基于所述至少两个子应用包分别对应的主包和分包,得到所述待拆分应用包的拆分结果,并基于所述拆分结果与其他小程序对应的应用包生成融合程序。

14、另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述程序融合方法。

15、另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述本申请实施例中任一所述的程序融合方法。

16、另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的程序融合方法。

17、本申请实施例提供的技术方案带来的有益效果至少包括:

18、当获取的n个小程序分别对应的应用包中包含待拆分应用包,待拆分应用包对应包括主包和至少两个分包时,根据至少两个分包对拆拆分应用包进行应用包拆分,得到至少两个子应用包,针对至少两个子应用包中的目标子应用包,提取目标子应用包对应的多个分包之间的公共代码内容并对应进行删除,从而生成目标子应用包对应的主包,根据子应用包对应的主包得到待拆分应用包的拆分结果,并最终生成融合程序。也即,通过提取分包中的公共代码内容的方式,从而生成目标子应用包的主包,能够避免手动拆包,并且有效缩小分包大小,避免分包出现超过预设内存容量的情况,提高应用包的拆包效率,进而提高程序融合效率。



技术特征:

1.一种程序融合方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述提取所述目标子应用包对应的多个分包之间的公共代码内容,并删除所述多个分包中的所述公共代码内容,包括:

3.根据权利要求2所述的方法,其特征在于,所述删除所述多个分包中的所述公共代码内容之前,还包括:

4.根据权利要求1至3任一所述的方法,其特征在于,所述提取所述目标子应用包对应的多个分包之间的公共代码内容之前,还包括:

5.根据权利要求1至3任一所述的方法,其特征在于,所述基于所述至少两个分包对所述待拆分应用包进行应用包拆分,得到至少两个子应用包,包括:

6.根据权利要求5所述的方法,其特征在于,所述基于所述依赖分析结果,对所述待拆分应用包进行应用包拆分,得到所述至少两个子应用包,包括:

7.根据权利要求1至3任一所述的方法,其特征在于,所述基于所述拆分结果与其他小程序对应的应用包生成融合程序,包括:

8.根据权利要求7所述的方法,其特征在于,所述对所述m个待融合应用包分别进行沙箱隔离,得到所述m个待融合应用包分别对应的沙箱隔离结果,包括:

9.根据权利要求8所述的方法,其特征在于,所述得到所述m个待融合应用包分别对应的第二沙箱隔离结果之前,还包括:

10.根据权利要求8所述的方法,其特征在于,所述得到所述m个待融合应用包分别对应的第二沙箱隔离结果之后,还包括:

11.根据权利要求7所述的方法,其特征在于,所述方法还包括:

12.一种程序融合装置,其特征在于,所述装置包括:

13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至11任一所述的程序融合方法。

14.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至11任一所述的程序融合方法。

15.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令被处理器执行时实现如权利要求1至11任一所述的程序融合方法。


技术总结
本申请公开了一种程序融合方法、装置、设备、存储介质及计算机程序产品,涉及计算机技术领域。该方法包括:获取n个小程序分别对应的应用包,n个小程序分别对应的应用包中包含至少一个待拆分应用包,待拆分应用包对应包括主包和至少两个分包;基于至少两个分包对待拆分应用包进行应用包拆分,得到至少两个子应用包;针对至少两个子应用包中的目标子应用包,提取目标子应用包对应的多个分包之间的公共代码内容;基于公共代码内容,生成目标子应用包对应的主包;基于拆分结果与其他小程序对应的应用包生成融合程序。即,通过提取分包中的公共代码内容的方式,从而生成目标子应用包的主包,提高应用包的拆包效率。

技术研发人员:孟涵怡,余松,范梓帆,李大双,梁帅
受保护的技术使用者:腾讯云计算(长沙)有限责任公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1