应用中load方法的管理方法及装置、电子设备制造方法及图纸

技术编号:38129079 阅读:8 留言:0更新日期:2023-07-08 09:35
本发明专利技术实施例提供了一种应用中load方法的管理方法及装置、电子设备。该方法包括:将目标应用中的多个load方法转换为具有不同函数名的多个C语言函数;转换前后的所述load方法和所述C语言函数的执行逻辑相同;在编译所述目标应用时,将所述多个C语言函数的各函数地址添加至所述目标应用的预设代码段;在启动或运行所述目标应用的过程中,基于所述预设代码段中的所述函数地址执行相应的C语言函数。本发明专利技术通过缩减load方法的数量,在保证被缩减的load方法的执行逻辑可以执行的情况下,使得在应用启动阶段需要被加载的数据大幅度减少,从而提升了目标应用的启动速度,避免应用程序的启动时间过长。启动时间过长。启动时间过长。

【技术实现步骤摘要】
应用中load方法的管理方法及装置、电子设备


[0001]本专利技术涉及应用启动
,尤其涉及一种应用中load方法的管理方法及装置、电子设备。

技术介绍

[0002]应用程序的启动过程可以分为两个阶段,第一阶段是指从点击应用程序图标到执行main函数的阶段。第二阶段主要是执行各种SDK(软件开发工具包,Software Development Kit)的初始化。
[0003]在应用程序启动的第一阶段,通常需要加载大量的数据。作为类方法的load方法,就是需要在第一阶段执行的一种重要方法。并且由于开发过程中的各种需求,通常会导致应用程序中存在较多的load方法。
[0004]然而,在加载load方法时,需要加载load方法所属类的所有数据,这就导致启动过程中所需加载的数据较多,从而造成了应用程序的启动时间过程的问题。

技术实现思路

[0005]鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的应用中load方法的管理方法及装置、电子设备。
[0006]第一方面,本专利技术实施例提供了一种应用中load方法的管理方法,所述方法包括:
[0007]将目标应用中的多个load方法转换为具有不同函数名的多个C语言函数;其中,转换前后的所述load方法和所述C语言函数的执行逻辑相同;
[0008]在编译所述目标应用时,将所述多个C语言函数的各函数地址添加至所述目标应用的预设代码段;
[0009]在启动或运行所述目标应用的过程中,基于所述预设代码段中的所述函数地址执行相应的C语言函数。
[0010]可选地,所述将所述多个C语言函数的各函数地址添加至所述目标应用的预设代码段,包括:
[0011]将所述多个C语言函数的各函数地址按照预设分组信息添加至所述预设代码段的多个分组中。
[0012]可选地,在将所述多个C语言函数的各函数地址添加至所述目标应用的预设代码段之前,所述方法还包括:
[0013]针对每一所述C语言函数传入一分组标识;
[0014]所述将所述多个C语言函数的各函数地址按照预设分组信息添加至所述预设代码段的多个分组中,包括:
[0015]针对每一所述C语言函数,将所述C语言函数的函数地址添加至所述预设代码段的第一目标分组中,其中,所述第一目标分组为针对所述C语言函数传入的分组标识对应的分组。
[0016]可选地,基于所述预设代码段中的所述函数地址执行相应的C语言函数,包括:
[0017]获取目标服务器发送的排序策略;其中,所述排序策略包括:排序分组中各函数地址的排序信息,所述排序分组包括所述多个分组中的至少一个分组;
[0018]基于所述排序策略,对所述排序分组中的各所述函数地址进行排序得到目标序列;
[0019]按照所述目标序列执行所述排序分组中各所述函数地址对应的C语言函数。
[0020]可选地,在所述排序分组包括:下线分组的情况下,所述按照所述目标序列执行所述排序分组中各所述函数地址对应的C语言函数,包括:
[0021]按照所述目标序列执行非下线分组中各所述函数地址对应的C语言函数,并禁止执行所述下线分组中各所述函数地址对应的C语言函数;
[0022]其中,所述下线分组包括:所述多个分组中的至少一个分组;所述非下线分组包括所述排序分组中除所述下线分组之外的分组。
[0023]可选地,每个所述分组对应所述目标应用的一个运行阶段或一个功能;
[0024]所述基于所述预设代码段中的所述函数地址执行相应的C语言函数,包括:
[0025]执行第二目标分组中各函数地址对应的C语言函数;其中,所述第二目标分组为所述目标应用的当前运行阶段或当前所触发功能对应的分组。
[0026]第二方面,本专利技术实施例还提供一种应用中load方法的管理装置,所述装置包括:
[0027]转换模块,用于将目标应用中的多个load方法转换为具有不同函数名的多个C语言函数;其中,转换前后的所述load方法和所述C语言函数的执行逻辑相同;
[0028]添加模块,用于在编译所述目标应用时,将所述多个C语言函数的各函数地址添加至所述目标应用的预设代码段;
[0029]执行模块,用于在启动或运行所述目标应用的过程中,基于所述预设代码段中的所述函数地址执行相应的C语言函数。
[0030]可选地,所述添加模块,具体用于将所述多个C语言函数的各函数地址按照预设分组信息添加至所述预设代码段的多个分组中。
[0031]第三方面,本专利技术实施例还提供一种电子设备,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的应用中load方法的管理方法中的步骤。
[0032]第四方面,本专利技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的应用中load方法的管理方法中的步骤。
[0033]在本专利技术实施例中,可以将多个load方法转换为多个C语言函数,从而减少目标应用中load方法的数量。由于转换前后的load方法和C语言函数的执行逻辑相同,通过在编译阶段将多个C语言函数的各函数地址添加至预设代码段,可以保证启动或运行目标应用的过程中,转换为C语言函数的各load方法的执行逻辑可以按照需要顺利执行。本专利技术通过缩减load方法的数量,在保证被缩减的load方法的执行逻辑可以执行的情况下,使得在应用启动阶段需要被加载的数据大幅度减少,从而提升了目标应用的启动速度,避免应用程序的启动时间过长。进一步的,转换为C语言函数后的load方法去除了load方法的特性,在应用运行阶段更加方便管理。
附图说明
[0034]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0035]图1为本专利技术实施例提供的一种应用中load方法的管理方法的步骤流程图;
[0036]图2为本专利技术实施例中执行C语言函数的实际应用示意图;
[0037]图3为本专利技术实施例提供的应用中load方法的管理方法的实际应用示意图;
[0038]图4为本专利技术实施例中将load方法转换为C语言函数的实际应用示意图;
[0039]图5为本专利技术实施例提供的一种应用中load方法的管理装置的结构框图;
[0040]图6为本专利技术实施例提供的电子设备的结构框图。
具体实施方式
[0041]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用中load方法的管理方法,其特征在于,所述方法包括:将目标应用中的多个load方法转换为具有不同函数名的多个C语言函数;其中,转换前后的所述load方法和所述C语言函数的执行逻辑相同;在编译所述目标应用时,将所述多个C语言函数的各函数地址添加至所述目标应用的预设代码段;在启动或运行所述目标应用的过程中,基于所述预设代码段中的所述函数地址执行相应的C语言函数。2.根据权利要求1所述的方法,其特征在于,将所述多个C语言函数的各函数地址添加至所述目标应用的预设代码段,包括:将所述多个C语言函数的各函数地址按照预设分组信息添加至所述预设代码段的多个分组中。3.根据权利要求2所述的方法,其特征在于,在将所述多个C语言函数的各函数地址添加至所述目标应用的预设代码段之前,所述方法还包括:针对每一所述C语言函数传入一分组标识;所述将所述多个C语言函数的各函数地址按照预设分组信息添加至所述预设代码段的多个分组中,包括:针对每一所述C语言函数,将所述C语言函数的函数地址添加至所述预设代码段的第一目标分组中,其中,所述第一目标分组为针对所述C语言函数传入的分组标识对应的分组。4.根据权利要求2所述的方法,其特征在于,基于所述预设代码段中的所述函数地址执行相应的C语言函数,包括:获取目标服务器发送的排序策略;其中,所述排序策略包括:排序分组中各函数地址的排序信息,所述排序分组包括所述多个分组中的至少一个分组;基于所述排序策略,对所述排序分组中的各所述函数地址进行排序得到目标序列;按照所述目标序列执行所述排序分组中各所述函数地址对应的C语言函数。5.根据权利要求4所述的方法,其特征在于,在所述排序分组包括:下线分组的情况下,所述按照所述目标序列执行所述排序分组中各所述函数地址对应的C语言函...

【专利技术属性】
技术研发人员:廖露阳彭飞刘孟
申请(专利权)人:五八同城信息技术有限公司
类型:发明
国别省市:

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

1