应用程序的启动方法、装置、电子设备及存储介质制造方法及图纸

技术编号:32643672 阅读:24 留言:0更新日期:2022-03-12 18:21
本发明专利技术提供了一种应用程序的启动方法、装置、电子设备及存储介质,该方法包括:如果接收到针对目标应用程序的启动指令,确定该目标应用程序在启动过程中的待调用函数和每个该待调用函数的函数符号;根据该待调用函数的函数符号,对该待调用函数的当前顺序进行重排序,以使排序后的该待调用函数集中排布在一个或多个虚拟内存页;基于排序后的该待调用函数,启动该目标应用程序。该方法通过对待调用函数的顺序进行重新排序,使其集中排布在一个或多个虚拟内存页,从而减少应用程序启动时出现的页面错误,从而减少该目标应用程序的启动时间,提升用户体验。提升用户体验。提升用户体验。

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


[0001]本专利技术涉及应用开发
,尤其是涉及一种应用程序的启动方法、装置、电子设备及存储介质。

技术介绍

[0002]用户在使用手机APP(Application program,应用程序)时,都有一个程序启动的过程。对于小型APP,通常启动速度一般不会很慢,但随着业务的增长,APP的体量增加,APP启动的耗时会比较明显,而现有技术都是针对业务代码层面来进行优化,通过懒加载,非必要方法延迟调用,异步等方式来优化main函数之后的启动流程。但随着业务的发展,功能增多,这种优化空间就比较有限。
[0003]通常情况下,应用程序在启动时会调用驱动所需的函数,但是这些函数可能分布在虚拟内存的不同内存分页上,如果需要从较多不同内存分页上调用对应的函数,需要在调用函数时,该函数所在的内存分页加载在物理内存中,如果调用时该内存分页未加载在物理内存中,则会导致缺页异常引起中断,从而增加中断耗时。这样,如果需要调用的函数所分布的内存分页越多,则发生上述缺页中断的可能性越高,导致中断耗时越长,使得启动该应用程序时,造成启动延时,尤其是一个App的启动过程中可能出现成千上万(甚至更多)次缺页中断,这个时间积累起来会比较明显。尤其是对于体量比较大的APP来说,必要的启动优化就显得更为重要,如果不优化会导致APP启动时间过长而影响用户使用体验。
[0004]整体而言,现有的应用程序在启动时还存在启动时间过长的现象,导致用户体验较差。

技术实现思路

[0005]本专利技术的目的在于提供一种应用程序的启动方法、装置、电子设备及存储介质,以减少应用程序的启动时间,提升用户体验。
[0006]第一方面,本专利技术实施例提供了一种应用程序的启动方法,其中,包括:如果接收到针对目标应用程序的启动指令,确定该目标应用程序在启动过程中的待调用函数和每个该待调用函数的函数符号;根据该待调用函数的函数符号,对该待调用函数的当前顺序进行重排序,以使排序后的该待调用函数集中排布在一个或多个虚拟内存页;基于排序后的该待调用函数,启动该目标应用程序。
[0007]结合第一方面,本专利技术实施例提供了第一方面的第一种可能的实施方式,其中,根据该待调用函数的函数符号,对该待调用函数的当前顺序进行重排序的步骤包括:获取预设的函数符号文件;该函数符号文件包括按预设顺序排序的多个调用函数的函数符号;根据该函数符号文件确定该待调用函数的函数符号的目标顺序;基于该目标顺序对该待调用函数的当前顺序进行重排序。
[0008]结合第一方面的第一种可能的实施方式,本专利技术实施例提供了第一方面的第二种可能的实施方式,其中,基于该目标顺序对该待调用函数的当前顺序进行重排序的步骤,包
括:获取该目标应用程序的排序文件;该排序文件用于指示该目标应用程序启动时待调用函数的当前顺序;根据该目标顺序修改该排序文件,以使该排序文件中的待调用函数的顺序和该目标顺序一致。
[0009]结合第一方面,本专利技术实施例提供了第一方面的第三种可能的实施方式,其中,该基于排序后的该待调用函数,启动该目标应用程序的步骤包括:将包含有排序后的该待调用函数的目标应用程序,打包成二进制可执行文件;运行该二进制可执行文件以启动该目标应用程序。
[0010]结合第一方面,本专利技术实施例提供了第一方面的第四种可能的实施方式,其中,该目标应用程序运行于iOS操作系统。
[0011]第二方面,本专利技术实施例提供了一种应用程序的启动装置,其中,该装置包括:待调用函数确定模块,用于如果接收到针对目标应用程序的启动指令,确定该目标应用程序在启动过程中的待调用函数和每个该待调用函数的函数符号;待调用函数顺序重排模块,用于根据该待调用函数的函数符号,对该待调用函数当前顺序进行重新排序,以使排序后的该待调用函数集中排布在一个或多个虚拟内存页;程序启动模块,用于基于排序后的该待调用函数,启动该目标应用程序。
[0012]结合第二方面,本专利技术实施例提供了第二方面的第一种可能的实施方式,其中,该待调用函数顺序重排模块还用于,获取预设的函数符号文件;该函数符号文件包括按预设顺序排序的多个调用函数的函数符号;根据该函数符号文件确定该待调用函数的函数符号的目标顺序;基于该目标顺序对该待调用函数的当前顺序进行重排序。
[0013]结合第二方面,本专利技术实施例提供了第二方面的第二种可能的实施方式,其中,该待调用函数顺序重排模块还用于,获取该目标应用程序的排序文件;该排序文件用于指示该目标应用程序启动时待调用函数的当前顺序;根据该目标顺序修改该排序文件,以使该排序文件中的待调用函数的顺序和该目标顺序一致。
[0014]第三方面,本专利技术实施例提供了一种电子设备,其中,该电子设备包括处理器和存储器,该存储器存储有能够被该处理器执行的计算机可执行指令,该处理器执行计算机可执行指令以实现第一方面至第一方面的第四种可能的实施方式任一项的应用程序的启动方法。
[0015]第四方面,本专利技术实施例提供了一种计算机可读存储介质,其中存储有计算机程序,其中,该计算机程序被处理器执行时实现第一方面至第一方面的第四种可能的实施方式任一项的查询应用程序的启动方法的步骤。
[0016]本专利技术实施例带来了以下有益效果:
[0017]本专利技术实施例提供的一种应用程序的启动方法,其中,包括:如果接收到针对目标应用程序的启动指令,确定该目标应用程序在启动过程中的待调用函数和每个该待调用函数的函数符号;根据该待调用函数的函数符号,对该待调用函数的当前顺序进行重排序,以使排序后的该待调用函数集中排布在一个或多个虚拟内存页;基于排序后的该待调用函数,启动该目标应用程序。该方法通过对待调用函数的顺序进行重新排序,使其集中排布在一个或多个虚拟内存页,从而减少应用程序启动时出现的页面错误,从而减少该目标应用程序的启动时间,提升用户体验。
[0018]本实施例公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优
点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
[0019]为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0020]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1为本专利技术实施例提供的一种应用程序的启动方法流程示意图;
[0022]图2为本专利技术实施例提供的另一种应用程序的启动方法流程示意图;
[0023]图3为本专利技术实施例提供的一种应用程序的启动装置的结构示意图;
[0024]图4为本专利技术实施例提供的一种电子设备的结构示意图。
[0025]图标:31
...

【技术保护点】

【技术特征摘要】
1.一种应用程序的启动方法,其特征在于,包括:如果接收到针对目标应用程序的启动指令,确定所述目标应用程序在启动过程中的待调用函数和每个所述待调用函数的函数符号;根据所述待调用函数的函数符号,对所述待调用函数的当前顺序进行重排序,以使排序后的所述待调用函数集中排布在一个或多个虚拟内存页;基于排序后的所述待调用函数,启动所述目标应用程序。2.根据权利要求1所述的应用程序的启动方法,其特征在于,根据所述待调用函数的函数符号,对所述待调用函数的当前顺序进行重排序的步骤包括:获取预设的函数符号文件;所述函数符号文件包括按预设顺序排序的多个调用函数的函数符号;根据所述函数符号文件确定所述待调用函数的函数符号的目标顺序;基于所述目标顺序对所述待调用函数的当前顺序进行重排序。3.根据权利要求2所述的应用程序的启动方法,其特征在于,基于所述目标顺序对所述待调用函数的当前顺序进行重排序的步骤,包括:获取所述目标应用程序的排序文件;所述排序文件用于指示所述目标应用程序启动时待调用函数的当前顺序;根据所述目标顺序修改所述排序文件,以使所述排序文件中的待调用函数的顺序和所述目标顺序一致。4.根据权利要求1所述的应用程序的启动方法,其特征在于,所述基于排序后的所述待调用函数,启动所述目标应用程序的步骤包括:将包含有排序后的所述待调用函数的目标应用程序,打包成二进制可执行文件;运行所述二进制可执行文件以启动所述目标应用程序。5.根据权利要求1所述的应用程序的启动方法,其特征在于,所述目标应用程序运行于iOS操作系统。6.一种应用程序的...

【专利技术属性】
技术研发人员:任波焦尧刘仕儒
申请(专利权)人:杭州筑龙信息技术股份有限公司
类型:发明
国别省市:

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

1