CN114168224B - 应用程序的启动方法、装置、电子设备及存储介质 - Google Patents
应用程序的启动方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114168224B CN114168224B CN202111480031.8A CN202111480031A CN114168224B CN 114168224 B CN114168224 B CN 114168224B CN 202111480031 A CN202111480031 A CN 202111480031A CN 114168224 B CN114168224 B CN 114168224B
- Authority
- CN
- China
- Prior art keywords
- function
- called
- application program
- functions
- starting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000006870 function Effects 0.000 claims abstract description 234
- 230000008707 rearrangement Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种应用程序的启动方法、装置、电子设备及存储介质,该方法包括:如果接收到针对目标应用程序的启动指令,确定该目标应用程序在启动过程中的待调用函数和每个该待调用函数的函数符号;根据该待调用函数的函数符号,对该待调用函数的当前顺序进行重排序,以使排序后的该待调用函数集中排布在一个或多个虚拟内存页;基于排序后的该待调用函数,启动该目标应用程序。该方法通过对待调用函数的顺序进行重新排序,使其集中排布在一个或多个虚拟内存页,从而减少应用程序启动时出现的页面错误,从而减少该目标应用程序的启动时间,提升用户体验。
Description
技术领域
本发明涉及应用开发技术领域,尤其是涉及一种应用程序的启动方法、装置、电子设备及存储介质。
背景技术
用户在使用手机APP(Application program,应用程序)时,都有一个程序启动的过程。对于小型APP,通常启动速度一般不会很慢,但随着业务的增长,APP的体量增加,APP启动的耗时会比较明显,而现有技术都是针对业务代码层面来进行优化,通过懒加载,非必要方法延迟调用,异步等方式来优化main函数之后的启动流程。但随着业务的发展,功能增多,这种优化空间就比较有限。
通常情况下,应用程序在启动时会调用驱动所需的函数,但是这些函数可能分布在虚拟内存的不同内存分页上,如果需要从较多不同内存分页上调用对应的函数,需要在调用函数时,该函数所在的内存分页加载在物理内存中,如果调用时该内存分页未加载在物理内存中,则会导致缺页异常引起中断,从而增加中断耗时。这样,如果需要调用的函数所分布的内存分页越多,则发生上述缺页中断的可能性越高,导致中断耗时越长,使得启动该应用程序时,造成启动延时,尤其是一个App的启动过程中可能出现成千上万(甚至更多)次缺页中断,这个时间积累起来会比较明显。尤其是对于体量比较大的APP来说,必要的启动优化就显得更为重要,如果不优化会导致APP启动时间过长而影响用户使用体验。
整体而言,现有的应用程序在启动时还存在启动时间过长的现象,导致用户体验较差。
发明内容
本发明的目的在于提供一种应用程序的启动方法、装置、电子设备及存储介质,以减少应用程序的启动时间,提升用户体验。
第一方面,本发明实施例提供了一种应用程序的启动方法,其中,包括:如果接收到针对目标应用程序的启动指令,确定该目标应用程序在启动过程中的待调用函数和每个该待调用函数的函数符号;根据该待调用函数的函数符号,对该待调用函数的当前顺序进行重排序,以使排序后的该待调用函数集中排布在一个或多个虚拟内存页;基于排序后的该待调用函数,启动该目标应用程序。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,根据该待调用函数的函数符号,对该待调用函数的当前顺序进行重排序的步骤包括:获取预设的函数符号文件;该函数符号文件包括按预设顺序排序的多个调用函数的函数符号;根据该函数符号文件确定该待调用函数的函数符号的目标顺序;基于该目标顺序对该待调用函数的当前顺序进行重排序。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,基于该目标顺序对该待调用函数的当前顺序进行重排序的步骤,包括:获取该目标应用程序的排序文件;该排序文件用于指示该目标应用程序启动时待调用函数的当前顺序;根据该目标顺序修改该排序文件,以使该排序文件中的待调用函数的顺序和该目标顺序一致。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,该基于排序后的该待调用函数,启动该目标应用程序的步骤包括:将包含有排序后的该待调用函数的目标应用程序,打包成二进制可执行文件;运行该二进制可执行文件以启动该目标应用程序。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,该目标应用程序运行于iOS操作系统。
第二方面,本发明实施例提供了一种应用程序的启动装置,其中,该装置包括:待调用函数确定模块,用于如果接收到针对目标应用程序的启动指令,确定该目标应用程序在启动过程中的待调用函数和每个该待调用函数的函数符号;待调用函数顺序重排模块,用于根据该待调用函数的函数符号,对该待调用函数当前顺序进行重新排序,以使排序后的该待调用函数集中排布在一个或多个虚拟内存页;程序启动模块,用于基于排序后的该待调用函数,启动该目标应用程序。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,该待调用函数顺序重排模块还用于,获取预设的函数符号文件;该函数符号文件包括按预设顺序排序的多个调用函数的函数符号;根据该函数符号文件确定该待调用函数的函数符号的目标顺序;基于该目标顺序对该待调用函数的当前顺序进行重排序。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,该待调用函数顺序重排模块还用于,获取该目标应用程序的排序文件;该排序文件用于指示该目标应用程序启动时待调用函数的当前顺序;根据该目标顺序修改该排序文件,以使该排序文件中的待调用函数的顺序和该目标顺序一致。
第三方面,本发明实施例提供了一种电子设备,其中,该电子设备包括处理器和存储器,该存储器存储有能够被该处理器执行的计算机可执行指令,该处理器执行计算机可执行指令以实现第一方面至第一方面的第四种可能的实施方式任一项的应用程序的启动方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其中存储有计算机程序,其中,该计算机程序被处理器执行时实现第一方面至第一方面的第四种可能的实施方式任一项的查询应用程序的启动方法的步骤。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种应用程序的启动方法,其中,包括:如果接收到针对目标应用程序的启动指令,确定该目标应用程序在启动过程中的待调用函数和每个该待调用函数的函数符号;根据该待调用函数的函数符号,对该待调用函数的当前顺序进行重排序,以使排序后的该待调用函数集中排布在一个或多个虚拟内存页;基于排序后的该待调用函数,启动该目标应用程序。该方法通过对待调用函数的顺序进行重新排序,使其集中排布在一个或多个虚拟内存页,从而减少应用程序启动时出现的页面错误,从而减少该目标应用程序的启动时间,提升用户体验。
本实施例公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种应用程序的启动方法流程示意图;
图2为本发明实施例提供的另一种应用程序的启动方法流程示意图;
图3为本发明实施例提供的一种应用程序的启动装置的结构示意图;
图4为本发明实施例提供的一种电子设备的结构示意图。
图标:31-待调用函数确定模块;32-待调用函数顺序重排模块;33-程序启动模块;41-存储器;42-处理器;43-总线;44-通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,iOS应用程序从启动到首页渲染完成整个流程分解为以下几个阶段:第1阶段:点击APP图标到main函数之前。第2阶段:main函数开始,到AppDelegate的didFinishLaunching方法之前。第3阶段:从AppDelegate的didFinishLaunching方法开始,到首页渲染完成。现有技术都是基于第2和第3阶段对应用启动进行优化,即通过懒加载思想、去除非必须的代码,优化业务代码来减小启动流程,从而达到启动优化的目的。但是随着APP的体量增大,APP启动的耗时会比较明显,而传统对业务代码进行优化的空间比较有限。
基于此,本发明实施例提供了一种应用程序的启动方法、装置、电子设备及存储介质,该技术可以缓解上述技术问题,该技术主要对上述第1阶段进行操作,可以有效的减少该目标应用程序的启动时间,提升用户体验。为便于对本实施例进行理解,首先对本发明实施例所公开的一种应用程序的启动方法进行详细介绍。
实施例1
如图1所示,为本发明实施例提供的一种应用程序的启动方法流程示意图,该方法包括下述步骤:
步骤S101:如果接收到针对目标应用程序的启动指令,确定该目标应用程序在启动过程中的待调用函数和每个该待调用函数的函数符号。
在本实施例中,当接收到针对目标应用程序的启动指令,确定该目标应用程序在启动过程中的待调用函数和每个该待调用函数的函数符号,并获取目标应用程序在启动过程中的待调用函数和每个该待调用函数的函数符号。这里,当获取目标应用程序在启动过程中的待调用函数和每个该待调用函数的函数符号之后,根据该待调用函数的函数符号可以确定该待调用函数的函数符号的当前排列顺序。
进一步的,该目标应用程序运行于iOS操作系统。
步骤S102:根据该待调用函数的函数符号,对该待调用函数的当前顺序进行重排序,以使排序后的该待调用函数集中排布在一个或多个虚拟内存页。
在本实施例中,通过预设的待调用函数的函数符号的顺序,对该待调用函数的当前顺序进行重排序,排序后的该待调用函数会自动集中排布在一个或多个虚拟内存页,从而减少该待调用函数对应的虚拟内存页的个数。
步骤S103:基于排序后的该待调用函数,启动该目标应用程序。
在实际的操作中,由于在步骤S102中通过对该待调用函数的当前顺序进行重排序,从而减少该待调用函数对应的虚拟内存页的个数,所以当基于排序后的该待调用函数,启动该目标应用程序,所需打开的虚拟内存页的个数减少,从而所少了页面错误产生的时间开销。
本发明实施例提供的应用程序的启动方法,其中,包括:如果接收到针对目标应用程序的启动指令,确定该目标应用程序在启动过程中的待调用函数和每个该待调用函数的函数符号;根据该待调用函数的函数符号,对该待调用函数的当前顺序进行重排序,以使排序后的该待调用函数集中排布在一个或多个虚拟内存页;基于排序后的该待调用函数,启动该目标应用程序。该方法通过对待调用函数的顺序进行重新排序,使其集中排布在一个或多个虚拟内存页,从而减少应用程序启动时出现的页面错误,从而减少该目标应用程序的启动时间,提升用户体验。
实施例2
在图1所示方法的基础上,本发明还提供另一种应用程序的启动方法,如图1所示,图2为本发明实施例提供的另一种应用程序的启动方法流程示意图,该方法包括下述步骤:
步骤S201:如果接收到针对目标应用程序的启动指令,确定该目标应用程序在启动过程中的待调用函数和每个该待调用函数的函数符号。
步骤S202:获取预设的函数符号文件;该函数符号文件包括按预设顺序排序的多个调用函数的函数符号。
步骤S203:根据该函数符号文件确定该待调用函数的函数符号的目标顺序。
在其中一种实施方式中,通过待调用函数的当前顺序以及该函数符号文件确定该待调用函数的函数符号的目标顺序。
步骤S204:基于该目标顺序对该待调用函数的当前顺序进行重排序。
在本实施例中,基于该目标顺序对该待调用函数的当前顺序进行重排序的步骤,包括:首先,获取该目标应用程序的排序文件;该排序文件用于指示该目标应用程序启动时待调用函数的当前顺序。然后根据该目标顺序修改该排序文件,以使该排序文件中的待调用函数的顺序和该目标顺序一致。
步骤S205:基于排序后的该待调用函数,启动该目标应用程序。
在其中一种可能的实施方式中,基于排序后的该待调用函数,启动该目标应用程序的步骤,包括:首先,将包含有排序后的该待调用函数的目标应用程序,打包成二进制可执行文件。然后,运行该二进制可执行文件以启动该目标应用程序。
本发明实施例提供的应用程序的启动方法,其中,包括:如果接收到针对目标应用程序的启动指令,确定该目标应用程序在启动过程中的待调用函数和每个该待调用函数的函数符号;获取预设的函数符号文件;该函数符号文件包括按预设顺序排序的多个调用函数的函数符号;根据该函数符号文件确定该待调用函数的函数符号的目标顺序;基于该目标顺序对该待调用函数的当前顺序进行重排序;基于排序后的该待调用函数,启动该目标应用程序。该方法通过预设函数符号文件对待调用函数的顺序进行重新排序,使其集中排布在一个或多个虚拟内存页,从而减少应用程序启动时出现的页面错误,进一步减少该目标应用程序的启动时间,提升用户体验。
实施例3
本发明实施例还提供了一种应用程序的启动装置,如图3所示,为本发明实施例提供的一种应用程序的启动装置的结构示意图,该装置包括:
待调用函数确定模块31,用于如果接收到针对目标应用程序的启动指令,确定该目标应用程序在启动过程中的待调用函数和每个该待调用函数的函数符号;
待调用函数顺序重排模块32,用于根据该待调用函数的函数符号,对该待调用函数当前顺序进行重新排序,以使排序后的该待调用函数集中排布在一个或多个虚拟内存页;
程序启动模块33,用于基于排序后的该待调用函数,启动该目标应用程序。
上述待调用函数确定模块31、待调用函数顺序重排模块32以及程序启动模块33依次相连。
在其中一种实施方式中,该待调用函数顺序重排模块32还用于,获取预设的函数符号文件;该函数符号文件包括按预设顺序排序的多个调用函数的函数符号;根据该函数符号文件确定该待调用函数的函数符号的目标顺序;基于该目标顺序对该待调用函数的当前顺序进行重排序。
在其中一种实施方式中,该待调用函数顺序重排模块32还用于,获取该目标应用程序的排序文件;该排序文件用于指示该目标应用程序启动时待调用函数的当前顺序;根据该目标顺序修改该排序文件,以使该排序文件中的待调用函数的顺序和该目标顺序一致。
在其中一种实施方式中,该程序启动模块33还用于,将包含有排序后的该待调用函数的目标应用程序,打包成二进制可执行文件;运行该二进制可执行文件以启动该目标应用程序。
本发明实施例提供的应用程序的启动装置,与上述实施例提供的应用程序的启动方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
实施例4
本实施例提供了一种电子设备,包括处理器和存储器,该存储器存储有能够被该处理器执行的计算机可执行指令,该处理器执行该计算机可执行指令以实现应用程序的启动方法的步骤。
参见图4所示的一种电子设备的结构示意图,该电子设备包括:存储器41、处理器42,存储器中存储有可在处理器42上运行的计算机程序,处理器执行计算机程序时实现上述应用程序的启动方法提供的步骤。
如图4所示,该设备还包括:总线43和通信接口44,处理器42、通信接口44和存储器41通过总线43连接;处理器42用于执行存储器41中存储的可执行模块,例如计算机程序。
其中,存储器41可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口44(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线43可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器41用于存储程序,处理器42在接收到执行指令后,执行程序,前述本发明任一实施例揭示应用程序的启动装置所执行的方法可以应用于处理器42中,或者由处理器42实现。处理器42可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器42中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器42可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器42读取存储器41中的信息,结合其硬件完成上述方法的步骤。
进一步地,本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器42调用和执行时,机器可执行指令促使处理器42实现上述应用程序的启动方法。
本发明实施例提供的应用程序的启动方法和应用程序的启动装置具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
Claims (10)
1.一种应用程序的启动方法,其特征在于,包括:
如果接收到针对目标应用程序的启动指令,确定所述目标应用程序在启动过程中的待调用函数和每个所述待调用函数的函数符号;
根据所述待调用函数的函数符号,对所述待调用函数的当前顺序进行重排序,以使排序后的所述待调用函数集中排布在一个或多个虚拟内存页;
基于排序后的所述待调用函数,启动所述目标应用程序。
2.根据权利要求1所述的应用程序的启动方法,其特征在于,根据所述待调用函数的函数符号,对所述待调用函数的当前顺序进行重排序的步骤包括:
获取预设的函数符号文件;所述函数符号文件包括按预设顺序排序的多个调用函数的函数符号;
根据所述函数符号文件确定所述待调用函数的函数符号的目标顺序;
基于所述目标顺序对所述待调用函数的当前顺序进行重排序。
3.根据权利要求2所述的应用程序的启动方法,其特征在于,基于所述目标顺序对所述待调用函数的当前顺序进行重排序的步骤,包括:
获取所述目标应用程序的排序文件;所述排序文件用于指示所述目标应用程序启动时待调用函数的当前顺序;
根据所述目标顺序修改所述排序文件,以使所述排序文件中的待调用函数的顺序和所述目标顺序一致。
4.根据权利要求1所述的应用程序的启动方法,其特征在于,所述基于排序后的所述待调用函数,启动所述目标应用程序的步骤包括:
将包含有排序后的所述待调用函数的目标应用程序,打包成二进制可执行文件;
运行所述二进制可执行文件以启动所述目标应用程序。
5.根据权利要求1所述的应用程序的启动方法,其特征在于,所述目标应用程序运行于iOS操作系统。
6.一种应用程序的启动装置,其特征在于,所述装置包括:
待调用函数确定模块,用于如果接收到针对目标应用程序的启动指令,确定所述目标应用程序在启动过程中的待调用函数和每个所述待调用函数的函数符号;
待调用函数顺序重排模块,用于根据所述待调用函数的函数符号,对所述待调用函数当前顺序进行重新排序,以使排序后的所述待调用函数集中排布在一个或多个虚拟内存页;
程序启动模块,用于基于排序后的所述待调用函数,启动所述目标应用程序。
7.根据权利要求6所述的应用程序的启动装置,其特征在于,所述待调用函数顺序重排模块还用于,获取预设的函数符号文件;所述函数符号文件包括按预设顺序排序的多个调用函数的函数符号;根据所述函数符号文件确定所述待调用函数的函数符号的目标顺序;基于所述目标顺序对所述待调用函数的当前顺序进行重排序。
8.根据权利要求6所述的应用程序的启动装置,其特征在于,所述待调用函数顺序重排模块还用于,获取所述目标应用程序的排序文件;所述排序文件用于指示所述目标应用程序启动时待调用函数的当前顺序;根据所述目标顺序修改所述排序文件,以使所述排序文件中的待调用函数的顺序和所述目标顺序一致。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至5任一项所述的应用程序的启动方法。
10.一种计算机可读存储介质,其中存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111480031.8A CN114168224B (zh) | 2021-12-06 | 2021-12-06 | 应用程序的启动方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111480031.8A CN114168224B (zh) | 2021-12-06 | 2021-12-06 | 应用程序的启动方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114168224A CN114168224A (zh) | 2022-03-11 |
CN114168224B true CN114168224B (zh) | 2024-02-20 |
Family
ID=80483739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111480031.8A Active CN114168224B (zh) | 2021-12-06 | 2021-12-06 | 应用程序的启动方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114168224B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012123762A (ja) * | 2010-12-10 | 2012-06-28 | Canon Inc | 情報処理装置及び情報処理方法 |
CN102662690A (zh) * | 2012-03-14 | 2012-09-12 | 腾讯科技(深圳)有限公司 | 应用程序启动方法和装置 |
CN111061516A (zh) * | 2018-10-15 | 2020-04-24 | 华为技术有限公司 | 加速应用的冷启动的方法、装置和终端 |
CN111240765A (zh) * | 2020-01-15 | 2020-06-05 | 深圳英飞拓智能技术有限公司 | 一种linux压缩应用程序的加载方法 |
CN112306584A (zh) * | 2020-10-19 | 2021-02-02 | 北京字节跳动网络技术有限公司 | 一种应用程序运行控制方法、装置、介质和设备 |
WO2021083378A1 (zh) * | 2019-11-01 | 2021-05-06 | 华为技术有限公司 | 一种加速应用程序启动的方法及电子设备 |
CN113360215A (zh) * | 2020-03-05 | 2021-09-07 | 腾讯科技(深圳)有限公司 | 程序运行方法、装置及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7584462B2 (en) * | 2003-11-24 | 2009-09-01 | Laszlo Systems, Inc. | System for optimizing application start-up |
-
2021
- 2021-12-06 CN CN202111480031.8A patent/CN114168224B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012123762A (ja) * | 2010-12-10 | 2012-06-28 | Canon Inc | 情報処理装置及び情報処理方法 |
CN102662690A (zh) * | 2012-03-14 | 2012-09-12 | 腾讯科技(深圳)有限公司 | 应用程序启动方法和装置 |
CN111061516A (zh) * | 2018-10-15 | 2020-04-24 | 华为技术有限公司 | 加速应用的冷启动的方法、装置和终端 |
WO2021083378A1 (zh) * | 2019-11-01 | 2021-05-06 | 华为技术有限公司 | 一种加速应用程序启动的方法及电子设备 |
CN112783564A (zh) * | 2019-11-01 | 2021-05-11 | 华为技术有限公司 | 一种加速应用程序启动的方法及电子设备 |
CN111240765A (zh) * | 2020-01-15 | 2020-06-05 | 深圳英飞拓智能技术有限公司 | 一种linux压缩应用程序的加载方法 |
CN113360215A (zh) * | 2020-03-05 | 2021-09-07 | 腾讯科技(深圳)有限公司 | 程序运行方法、装置及计算机可读存储介质 |
CN112306584A (zh) * | 2020-10-19 | 2021-02-02 | 北京字节跳动网络技术有限公司 | 一种应用程序运行控制方法、装置、介质和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114168224A (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9727343B2 (en) | Apparatus and method for handling exception events | |
US10827550B2 (en) | Data transmission method, data transmission apparatus, processor, and mobile terminal | |
CN105138382B (zh) | 一种Android系统升级的方法及终端 | |
US11074083B2 (en) | Fast loading kernel image file for booting | |
KR100988157B1 (ko) | 메모리 디바이스 구성을 검출하기 위한 방법 및 장치와, 메모리 디바이스 구성을 검출하기 위한 방법을 수행하기 위한 명령들을 포함하는 컴퓨터 판독 가능 매체 | |
CN109408122A (zh) | 一种设备启动方法、电子设备和计算机存储介质 | |
US20080098398A1 (en) | Efficient Switching Between Prioritized Tasks | |
CN110377408B (zh) | 一种应用程序的启动方法、装置、终端及介质 | |
CN112579162A (zh) | 异构isa平台上硬件和软件协调的对高级特征选入的方法 | |
CN114168224B (zh) | 应用程序的启动方法、装置、电子设备及存储介质 | |
CN111722857A (zh) | 软件开发工具包的更新方法、装置、电子设备及存储介质 | |
CN115664953B (zh) | 一种外接设备的资源分配方法及相关装置 | |
CN115658185B (zh) | 一种云应用快速启动的方法、装置、存储介质及电子设备 | |
CN113396391B (zh) | 应用程序启动的方法、装置、电子设备及存储介质 | |
CN116113011A (zh) | 一种网络连接方法、装置及电子设备 | |
CN116956270B (zh) | 应用程序运行方法、运行环境re、电子设备、存储介质 | |
CN108182117B (zh) | 一种基于x86平台的内存大页动态切换方法 | |
CN112835716B (zh) | 一种5g通信虚拟化网元的cpu缓存分配方法和终端 | |
CN110286963B (zh) | 控制代码加载方法、装置、启动控制器以及电子设备 | |
CN113741946B (zh) | 公共接口函数库的裁剪方法、装置、设备及可读存储介质 | |
CN111124461B (zh) | 用于单片机ota升级的方法、装置和单片机 | |
CN111757386B (zh) | 下载控制方法及设备 | |
CN115639964A (zh) | 存储系统数据的读取方法、装置及电子设备 | |
CN117609146A (zh) | 一种基于异构计算板卡的fpga协商加载方法 | |
CN116701057A (zh) | 程序模块的升级方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |