应用程序的分包方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:39009537 阅读:9 留言:0更新日期:2023-10-07 10:40
本申请实施例公开了一种应用程序的分包方法、装置、电子设备及可读存储介质,方法包括:获取目标应用程序的源代码,并在源代码中识别出目标跳转字段,目标跳转字段指示多个候选页面之间跳转的信息;基于目标跳转字段,构建多个候选页面之间的路由有向图,路由有向图表征候选页面之间的跳转关系;基于路由有向图,确定每一候选页面的路由权重;基于路由权重,在候选页面中筛选出至少一个目标页面,目标页面包括执行分包操作的候选页面;在源代码中提取出目标页面的配置信息和页面加载信息,并基于配置信息和页面加载信息,生成目标页面的分包文件。本申请实施例能够提升应用程序的分包效率,降低分包复杂度和分包所需的人力资源消耗。源消耗。源消耗。

【技术实现步骤摘要】
应用程序的分包方法、装置、电子设备及可读存储介质


[0001]本申请涉及计算机
,具体涉及一种应用程序的分包方法、装置、电子设备及可读存储介质。

技术介绍

[0002]在应用程序开发的过程中,可以将整个应用按照不同的功能模块、页面、业务逻辑、引用库、包体积限制等条件进行分包,分包后的应用程序可以提高初始加载速度、降低首次启动所需的时间,并优化使用者体验。
[0003]然而,应用程序的分包通常由开发人员手动分包来实现,开发人员需要对应用程序的大量源代码进行重构和修改等处理,导致手动分包的效率低、操作繁琐、复杂度高。

技术实现思路

[0004]本申请实施例提供一种应用程序的分包方法、装置、电子设备和存储介质,能够提升应用程序的分包效率,降低分包复杂度和分包所需的人力资源消耗。
[0005]本申请实施例第一方面提供一种应用程序的分包方法,所述方法包括:获取目标应用程序的源代码,并在所述源代码中识别出目标跳转字段,所述目标跳转字段指示多个候选页面之间跳转的信息;基于所述目标跳转字段,构建所述多个候选页面之间的路由有向图,所述路由有向图表征所述候选页面之间的跳转关系;基于所述路由有向图,确定每一所述候选页面的路由权重,所述路由权重表征页面的路由调用次数;基于所述路由权重,在所述候选页面中筛选出至少一个目标页面,所述目标页面包括执行分包操作的候选页面;在所述源代码中提取出所述目标页面的配置信息和页面加载信息,并基于所述配置信息和页面加载信息,生成所述目标页面的分包文件。
[0006]相应地,本申请实施例第二方面提供一种应用程序的分包装置,所述装置包括:源代码获取单元,用于获取目标应用程序的源代码,并在所述源代码中识别出目标跳转字段,所述目标跳转字段指示多个候选页面之间跳转的信息;路由有向图构建单元,用于基于所述目标跳转字段,构建所述多个候选页面之间的路由有向图,所述路由有向图表征所述候选页面之间的跳转关系;路由权重确定单元,用于基于所述路由有向图,确定每一所述候选页面的路由权重,所述路由权重表征页面的路由调用次数;目标页面筛选单元,用于基于所述路由权重,在所述候选页面中筛选出至少一个目标页面,所述目标页面包括执行分包操作的候选页面;分包文件生成单元,用于在所述源代码中提取出所述目标页面的配置信息和页面加载信息,并基于所述配置信息和页面加载信息,生成所述目标页面的分包文件。
[0007]可选地,所述路由有向图构建单元,包括:跳转关系信息确定第一子单元,用于基于所述目标跳转字段,确定多个候选页面之间的跳转关系信息;节点构建子单元,用于将所述每个候选页面作为节点,并基于所述跳转关系信息,确定所述节点对应的至少一条节点边,以及每一所述节点边的边权重;路由有向图生成子单元,用于基于所述节点、所述节点边和所述边权重,生成路由有向图。
[0008]可选地,所述跳转关系信息确定子单元,包括:上下文信息提取子单元,用于提取所述目标跳转字段的上下文信息;跳转页面确定第一子单元,用于基于所述上下文信息,确定所述候选页面的跳转指向信息和跳转次数,所述跳转指向信息指示所述候选页面对应跳转页面;跳转关系信息确定第二子单元,用于将所述跳转指向信息和所述跳转次数作为跳转关系信息。
[0009]可选地,所述节点构建子单元,包括:跳转页面确定第二子单元,用于基于所述每个候选页面的跳转指向信息,确定所述每个候选页面对应的跳转页面;节点边确定子单元,用于基于所述跳转页面,确定所述每个节点的至少一个节点边;边权重确定子单元,用于在所述跳转次数中筛选出每一节点边对应的目标跳转次数,并基于所述目标跳转次数,确定每一节点边的边权重。
[0010]可选地,所述节点边确定子单元还具体用于:获取候选页面的节点,以及所述跳转页面的节点;基于所述跳转页面相对于所述候选页面的跳转指向,确定所述跳转页面的节点相对于所述候选页面的节点的跳转指向;基于所述跳转页面的节点相对于所述候选页面的节点的跳转指向,确定所述每个候选页面的节点的至少一个节点边。
[0011]可选地,所述路由权重确定单元还具体用于:在所述路由有向图中识别出每一候选页面对应节点的至少一个节点边,得到每一候选页面对应的节点边集合;将所述节点边集合中每一节点边对应的边权重进行求和,得到每一候选页面的路由权重。
[0012]可选地,所述目标页面筛选单元还具体用于:获取用于筛选所述路由权重的权重阈值;在所述候选页面中筛选出所述路由权重大于所述权重阈值的至少一个候选页面,得到目标页面。
[0013]可选地,所述分包文件生成单元,包括:配置信息获取子单元,用于从所述源代码中提取所述目标页面的页面路径,并基于所述页面路径,对所述目标页面进行配置,得到所述目标页面的配置信息;页面加载信息获取子单元,用于从所述源代码中提取所述目标页面的样式信息和
事件绑定信息,得到所述目标页面的页面加载信息。
[0014]可选地,所述页面加载信息获取子单元还具体用于:遍历所述目标页面的节点的子节点属性设置信息,所述节点属性设置信息包括样式属性和事件绑定属性;提取所述样式属性引用的样式类所对应的样式定义,将所述样式定义确定为所述样式信息;提取所述事件绑定属性的绑定函数所对应的函数实现,将所述函数实现确定为所述事件绑定信息。
[0015]可选地,所述分包文件生成单元还具体用于:将所述配置信息添加至所述应用程序的全局配置文件,以得到初始分包文件;将所述页面加载信息复制到所述初始分包文件,以得到所述目标页面的分包文件。
[0016]可选地,所述源代码获取单元还具体用于:获取预设跳转字段对应的至少一个跳转关键字;在所述源代码中筛选出所述跳转关键字对应的至少一个字段,得到目标跳转字段。
[0017]本申请实施例第三方面提供的一种电子设备,包括:处理器和存储介质;所述处理器,用于实现各个指令;所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行以上所述的应用程序的分包方法。
[0018]本申请实施例第四方面还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例所提供的任一种应用程序的分包方法中的步骤。
[0019]本申请实施例第五方面还提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本申请实施例所提供的任一种应用程序的分包方法。
[0020]由此可知,应用本申请实施例,可以在应用程序的源代码中自动、快速地识别出目标跳转字段,并根据目标跳转字段自动筛选出待分包的应用程序的多个候选页面。在确定出多个候选页面之后,可以根据多个候选页面之间的跳转关系构建对应的路由有向图,进而根据路由有向图所表征出的每个候选页面的路由权重,来快速、准确地从多个候选页面中筛选出至少一个需要分包的目标页面。从而本申请实施例无需开发人员手动分包,以自动分包的方式快速、准确地得到应用程序的分包结构,提升应用程序的分包效率和开发效率,降低应用程序分包的复杂度,以及分包所需的人本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序的分包方法,其特征在于,所述方法包括:获取目标应用程序的源代码,并在所述源代码中识别出目标跳转字段,所述目标跳转字段指示多个候选页面之间跳转的信息;基于所述目标跳转字段,构建所述多个候选页面之间的路由有向图,所述路由有向图表征所述候选页面之间的跳转关系;基于所述路由有向图,确定每一所述候选页面的路由权重,所述路由权重表征页面的路由调用次数;基于所述路由权重,在所述候选页面中筛选出至少一个目标页面,所述目标页面包括执行分包操作的候选页面;在所述源代码中提取出所述目标页面的配置信息和页面加载信息,并基于所述配置信息和页面加载信息,生成所述目标页面的分包文件。2.根据权利要求1所述的方法,其特征在于,所述基于所述目标跳转字段,构建所述多个候选页面之间的路由有向图,包括:基于所述目标跳转字段,确定所述多个候选页面之间的跳转关系信息;将每个候选页面作为节点,并基于所述跳转关系信息,确定所述节点对应的至少一条节点边,以及每个所述节点边的边权重;基于所述节点、所述节点边和所述边权重,生成路由有向图。3.根据权利要求2所述的方法,其特征在于,所述基于所述目标跳转字段,确定多个候选页面之间的跳转关系信息,包括:提取所述目标跳转字段的上下文信息;基于所述上下文信息,确定所述候选页面的跳转指向信息和跳转次数,所述跳转指向信息指示所述候选页面对应跳转页面;将所述跳转指向信息和所述跳转次数作为跳转关系信息。4.根据权利要求3所述的方法,其特征在于,所述确定所述节点对应的至少一条节点边,以及每一所述节点边的边权重,包括:基于所述每个候选页面的跳转指向信息,确定所述每个候选页面对应的跳转页面;基于所述跳转页面,确定每个节点的至少一个节点边;在所述跳转次数中筛选出每一节点边对应的目标跳转次数,并基于所述目标跳转次数,确定每一节点边的边权重。5.根据权利要求4所述的方法,其特征在于,所述基于所述跳转页面,确定每个节点的至少一个节点边,包括:获取候选页面的节点,以及所述跳转页面的节点;基于所述跳转页面相对于所述候选页面的跳转指向,确定所述跳转页面的节点相对于所述候选页面的节点的跳转指向;基于所述跳转页面的节点相对于所述候选页面的节点的跳转指向,确定所述每个候选页面的节点的至少一个节点边。6.根据权利要求1所述的方法,其特征在于,所述基于所述路由有向图,确定每一所述候选页面的路由权重,包括:在所述路由有向图中识别出每一候选页面对应节点的至少一个节点边,得到每一候选
页面对应的节点边集合;将所述节点边集合中每一节点边对应的边权重进行求和,得到每一候选页面的路由权重。7.根据权利要求1所述的方法,其特征在于,所述基于所述路由权重,在所述候选页面中筛选出至少一个目标页面,包括:获取用于筛选所述路由权重的权重阈值;在所述候选页面中筛选出所述路由权重大于所述...

【专利技术属性】
技术研发人员:练振华
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1