CN112035178A - 一种应用启动方法、装置和存储介质 - Google Patents
一种应用启动方法、装置和存储介质 Download PDFInfo
- Publication number
- CN112035178A CN112035178A CN202010805517.3A CN202010805517A CN112035178A CN 112035178 A CN112035178 A CN 112035178A CN 202010805517 A CN202010805517 A CN 202010805517A CN 112035178 A CN112035178 A CN 112035178A
- Authority
- CN
- China
- Prior art keywords
- application
- file
- byte code
- code file
- instruction
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000004590 computer program Methods 0.000 claims description 21
- 238000001514 detection method Methods 0.000 claims description 13
- 238000009877 rendering Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002035 prolonged effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Images
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/44568—Immediately runnable code
-
- 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
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
技术领域
本发明涉及互联网技术,尤其涉及一种应用启动方法、装置和存储介质。
背景技术
现有的以快应用、Weex、小程序为代表的兼容前端和客户端的跨平台技术在渲染页面的时候,都需要执行界面对应的JS(Javascript,一种解释型或即时编译型的高级编程语言)文件,而相关技术中在执行JS文件时,需经历JS引擎将JS文件编译成字节码文件、将字节码文件编译成机器码文件、运行最终生成的机器码文件的过程。
渲染页面受限于上述执行JS文件的过程,影响了跨平台技术在渲染页面的速度。
发明内容
有鉴于此,本发明的主要目的在于提供一种应用启动方法、装置和存储介质。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供一种应用启动方法,应用于终端,所述方法包括:
接收第一指令;所述第一指令用于请求启动第一应用;
根据所述第一指令检测本地是否存储有第一字节码文件;所述第一字节码文件对应所述第一应用;
确定本地存储有所述第一字节码文件,运用所述第一字节码文件启动所述第一应用。
上述方案中,所述方法还包括:
确定本地未存储有所述第一字节码文件,解析所述第一应用的第一JS文件,得到所述第一JS文件对应的第一字节码文件;
运用所述第一字节码文件启动所述第一应用,以及,将所述第一字节码文件保存在本地。
上述方案中,所述检测本地是否存储有第一字节码文件,包括:
确定所述第一指令对应的第一应用;
检测所述第一应用的文件夹中是否存储有所述第一字节码文件,或者,缓存中是否存储有第一JS文件对应的第一字节码文件。
上述方案中,所述方法还包括:
确定符合预设条件的第二应用;
获取所述第二应用对应的第二JS文件;
解析所述第二JS文件,得到所述第二JS文件对应的第二字节码文件;
将所述第二字节码文件与所述第二JS文件对应保存;
其中,所述符合预设条件的第二应用表征未存储有相应字节码文件的应用。
上述方案中,所述确定符合预设条件的第二应用,包括:
接收第二指令;所述第二指令用于指示添加有第二应用,或者,指示到达检测时间;
根据第二指令,检测符合预设条件的第二应用。
上述方案中,所述运用所述第一字节码文件启动所述第一应用,包括:
将所述第一字节码文件编译为第一机器码文件;
执行所述第一机器码文件,以启动所述第一应用。
本发明实施例提供了一种应用启动装置,其特征在于,所述装置包括:
接收模块,用于接收第一指令;所述第一指令用于请求启动第一应用;
第一处理模块,用于根据所述第一指令检测本地是否存储有第一字节码文件;所述第一字节码文件对应所述第一应用;
确定本地存储有所述第一字节码文件,运用所述第一字节码文件启动所述第一应用。
上述方案中,所述装置还包括:第二处理模块,用于确定本地未存储有所述第一字节码文件,解析所述第一应用的第一JS文件,得到所述第一JS文件对应的第一字节码文件;
运用所述第一字节码文件启动所述第一应用,以及,将所述第一字节码文件保存在本地。
上述方案中,所述第一处理模块,用于确定所述第一指令对应的第一应用;
检测所述第一应用的文件夹中是否存储有所述第一字节码文件,或者,缓存中是否存储有第一JS文件对应的第一字节码文件。
上述方案中,所述装置还包括:预检测模块,用于确定符合预设条件的第二应用;
获取所述第二应用对应的第二JS文件;
解析所述第二JS文件,得到所述第二JS文件对应的第二字节码文件;
将所述第二字节码文件与所述第二JS文件对应保存;
其中,所述符合预设条件的第二应用表征未存储有相应字节码文件的应用。
上述方案中,所述预检测模块,用于接收第二指令;所述第二指令用于指示添加有第二应用,或者,指示到达检测时间;
根据第二指令,检测符合预设条件的第二应用。
本发明实施例提供了一种应用启动装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以上所述应用启动方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上所述应用启动方法的步骤。
本发明实施例所提供的应用启动方法、装置和存储介质,所述方法包括:接收第一指令;所述第一指令用于请求启动第一应用;根据所述第一指令检测本地是否存储有第一字节码文件;所述第一字节码文件对应所述第一应用;确定本地存储有所述第一字节码文件,运用所述第一字节码文件启动所述第一应用;如此,节约JS文件编译为字节码文件的时间,从而提升整个JS文件的运行时间,达到提升页面渲染速度的效果。
附图说明
图1为一种应用页面打开方法的流程示意图;
图2为本发明实施例提供的一种应用启动方法的流程示意图;
图3为本发明实施例提供的另一种应用启动方法的流程示意图;
图4为本发明实施例提供的一种应用启动装置的结构示意图;
图5为本发明实施例提供的另一种应用启动装置的结构示意图。
具体实施方式
在结合实施例对本发明再作进一步详细的说明之前,先对相关技术进行说明。
图1为一种应用页面打开方法的流程示意图;如图1所示,以V8和JavaScriptCore为代表的JS引擎运行JS文件以打开应用页面的方法,包括:
经过parse(解析)过程,将JS文件编译成字节码文件;
经过compile(编译)过程,将字节码文件编译成机器码文件;
execute(执行)机器码文件,打开应用页面。
这里,JS文件是一种网页脚本文件,通过JS文件渲染页面。
JS引擎是JavaScript应用的引擎,V8引擎也是一种JavaScript应用的引擎。JavaScript应用是采用JavaScript脚本语言开发应用程序。
上述方案执行JS文件时,受限于JS引擎的流程限制,即在执行过程中必须经过将JS文件编译成字节码文件,然后将字节码文件编译成机器码文件的过程,导致快应用这一类跨平台方案在执行页面的JS文件时,有一定的性能瓶颈,由于页面的渲染必须依赖JS文件的执行,所以进一步影响了跨平台技术在渲染页面的速度,这也是跨平台技术在渲染界面时很难达到原生渲染效果的主要原因。
基于此,本发明实施例中,接收第一指令;所述第一指令用于请求启动第一应用;根据所述第一指令检测本地是否存储有第一字节码文件;所述第一字节码文件对应所述第一应用;确定本地存储有所述第一字节码文件,运用所述第一字节码文件启动所述第一应用。
下面结合实施例对本发明再作进一步详细的说明。
图2为本发明实施例提供的一种应用启动方法的流程示意图;如图2所示,所述应用启动方法应用于终端,所述方法包括:
步骤201、接收第一指令;所述第一指令用于请求启动第一应用;
步骤202、根据所述第一指令检测本地是否存储有第一字节码文件;所述第一字节码文件对应所述第一应用;
步骤203、确定本地存储有所述第一字节码文件,运用所述第一字节码文件启动所述第一应用。
所述本地有相应实体,这里,所述本地指所述应用启动方法所应用的终端。
在一些实施例中,所述终端可以为任意可以实现快应用、Weex、小程序等兼容前端和客户端的跨平台技术的设备,如提供有快应用平台、小程序平台等设备。终端可以为智能手机、平板电脑等。
所述终端具有JS引擎,上述方法可以具体应用于终端的JS引擎,以减少JS引擎启动JS文件的整体时间。
在一些实施例中,所述方法还包括:
确定本地未存储有所述第一字节码文件,解析所述第一应用的第一JS文件,得到所述第一JS文件对应的第一字节码文件;
运用所述第一字节码文件启动所述第一应用,以及,将所述第一字节码文件保存在本地。
字节码文件是经过编译处理过的一种文件,是JAVA的一种执行文件存在形式。
所述解析所述第一应用的第一JS文件,得到所述第一JS文件对应的第一字节码文件,即经过parse(解析)过程,将所述第一JS文件编译为第一字节码文件。
这里,终端(可以具体是JS引擎)检测本地(指终端本地)中是否存储有第一字节码文件,当本地存储有第一应用对应的第一字节码文件,则可以直接基于所述第一字节码文件启动所述第一应用;若本地未存储有第一应用对应的第一字节码文件,则可以解析所述第一JS文件,得到所述第一JS文件对应的第一字节码文件,并且将所述第一字节码文件保存在本地,从而在下次需要启动第一应用时,可以直接基于本地存储的第一字节码文件启动所述第一应用。
如此,避免了每次启动应用时都需经过将JS文件解析为字节码文件的过程,节约了运行JS文件的一半以上的时间,提升JS文件的整体运行时间,进而达到提升启动应用的时间。这里,基于本地存储的第一字节码文件启动所述第一应用,包括:基于第一字节码文件渲染页面,相应的,这里具体指提升页面渲染速度。
在一些实施例中,所述检测本地中是否存储有第一字节码文件,包括:
确定所述第一指令对应的第一应用;
检测所述第一应用的文件夹中是否存储有所述第一字节码文件,和/或,缓存中是否存储有第一JS文件对应的第一字节码文件。
这里,所述第一指令至少包括第一应用的标识。
所述第一应用对应的第一字节码文件可以直接保存在第一应用对应的文件夹中,如rpk文件(一种后缀名为.rpk的系统文件);相应情况下,检测所述第一应用的文件夹中是否存储有所述第一字节码文件;
所述第一应用对应的第一字节码文件可以直接保存在本地缓存或某一用于保存各应用的字节码文件的文件夹,如文件夹一,其中,各字节码文件携带有相应应用的标识,相应情况下,可以检测本地缓存或上述文件夹一中是否存储有与相应应用对应(如字节码文件的标识与应用的标识对应或一致)的字节码文件。
实际应用中,终端可以预先解析获得各应用对应的字节码文件并保存,如此,在应用时可以直接运行字节码文件,以提高效率。
基于此,在一实施例中,所述方法还包括:
确定符合预设条件的第二应用;
获取所述第二应用对应的第二JS文件;
解析所述第二JS文件,得到所述第二JS文件对应的第二字节码文件;
将所述第二字节码文件与所述第二JS文件对应保存;
其中,所述符合预设条件的第二应用表征未存储有相应字节码文件的应用。
这里,考虑到页面渲染速度受限于JS引擎运行JS文件的束缚,在页面实际渲染时,复用已经提前预编译好的字节码文件,减少JS引擎将JS文件编译成字节码这一步骤,来达到减少快应用页面的渲染时间,提升用户体验的效果。
其中,所述确定符合预设条件的第二应用,包括:
接收第二指令;所述第二指令用于指示添加有第二应用,或者,指示到达检测时间;
根据第二指令,检测符合预设条件的第二应用。
这里,所述第二指令用于指示添加有第二应用,可以理解为,终端确定添加有第二应用,第二应用为可提供服务、但未被启用过的应用,如此,先对第二应用的JS文件进行解析,得到相应的字节码文件并保存在本地,当接收到针对第二应用的启动指令时,可直接调用本地存储的字节码文件,以提高运行时间。
所述第二指令用于到达检测时间,可以理解为,终端设有检测是否存在有新的应用的时间周期,所述新的应用为可以提供服务、但未被启动过的应用,如此,每当到达检测时间,则可以检测新的应用,检测到新的应用后,先对新的应用的JS文件进行解析,得到相应的字节码文件并进行保存,当接收到针对所述新的应用的启动指令时,可直接调用相应的字节码文件,以提高运行时间。
在一实施例中,所述运用所述第一字节码文件启动所述第一应用,包括:
将所述第一字节码文件编译为第一机器码文件;
执行所述第一机器码文件,以启动所述第一应用。
这里,所述启动第一应用,至少包括:渲染第一应用的页面,以提供第一应用的服务。
本发明实施例提供的方法,通过预先解析得到字节码文件,应用时可直接运用相应字节码文件,提高了应用启动效率,解决了现有方案在执行JS文件时受限于JS引擎的流程限制,执行的过程中必须要经过将该JS文件解析成字节码文件,然后将字节码文具编译成机器码文件的过程,导致快应用这一类跨平台方案在执行页面的JS文件时有一定的性能瓶颈的问题。
由于页面的渲染必须依赖JS文件的执行,所以进一步影响了跨平台技术在渲染页面的速度,通过本发明实施例提供的方案,节约JS引擎运行JS文件一半以上的时间,比较明显的提升JS文件的运行时间,达到提升页面渲染速度的效果。
以快应用为例,对本发明实施例提供的方法做进一步说明,图3为本发明实施例提供的一种应用启动方法的流程示意图;如图3所示,所述应用启动方法应用于终端,所述终端安装有快应用平台,所述方法包括:
步骤301、快应用引擎会启动后台进程,将相应快应用的JS文件解析为字节码文件并保存。
具体来说,快应用引擎(如V8引擎,JS引擎等)启动后台进程,可以在用户无感知的状态下,将相应快应用的JS文件解析为字节码文件并保存。
这里,可以具体针对已经下载到本地(即通过快应用平台下载到终端上)的快应用,将已经下载到本地的快应用的JS文件通过JS引擎预编译成字节码文件,并缓存到对应的快应用的文件下。
步骤302、接收启动指令,确定启动指令对应的目标应用;判断本地是否存储有该目标应用的JS文件对应的字节码文件。
确定存储有该目标应用的JS文件对应的字节码文件,则进入步骤303;
确定未存储有该目标应用的JS文件对应的字节码文件,则进入步骤304;
具体来说,当用户打开某一个快应用,用户可以通过终端提供的人机交互界面点击相应快应用,如此终端根据用户的点击操作,确定相应的快应用,生成启动指令,JS引擎确定需启动相应快应用(即所述目标应用);此时,JS引擎在读取该快应用的JS文件时,会先判断本地是否存储有该JS文件对应的字节码文件。
步骤303、快应用引擎直接运行字节码文件,并且不用再执行将JS文件编译成字节码文件这一过程。
步骤304、运行JS文件,将JS文件编译为字节码文件,并将该JS文件的字节码文件保存在本地。
如此,等用户再次打开该快应用时,本地已经存储有该快应用的JS文件对应的字节码文件,则可以节约之后的运行JS文件的时间。
上述方法,通过提前将JS文件编译成字节码文件保存在终端本地,等到快应用需要执行页面的JS文件时,JS引擎会直接复用已经提前编译好的字节码文件,并跳过现有技术方案中JS引擎将JS文件编译成字节码这一过程。从而,能节约JS引擎将JS文件编译成字节码的时间,根据统计,JS引擎将JS文件编译成字节码文件的过程耗费了该JS文件执行流程中一半以上的时间;也就是说,采用本发明实施例提供的上述方案,能节约JS引擎运行JS文件一半以上的时间,比较明显的提升JS文件的运行时间,达到提升页面渲染速度的效果。
图4为本发明实施例提供的一种应用启动装置的结构示意图;如图4所示,所述应用启动装置,包括:
接收模块,用于接接收第一指令;所述第一指令用于请求启动第一应用;
第一处理模块,用于根据所述第一指令检测本地是否存储有第一字节码文件;所述第一字节码文件对应所述第一应用;
确定本地存储有所述第一字节码文件,运用所述第一字节码文件启动所述第一应用。
在一些实施例中,所述装置还包括:第二处理模块,用于确定本地未存储有所述第一字节码文件,解析所述第一应用的第一JS文件,得到所述第一JS文件对应的第一字节码文件;
运用所述第一字节码文件启动所述第一应用,以及,将所述第一字节码文件保存在本地。
在一些实施例中,所述第一处理模块,用于确定所述第一指令对应的第一应用;
检测所述第一应用的文件夹中是否存储有所述第一字节码文件,或者,缓存中是否存储有第一JS文件对应的第一字节码文件。
在一些实施例中,所述装置还包括:预检测模块,用于确定符合预设条件的第二应用;
获取所述第二应用对应的第二JS文件;
解析所述第二JS文件,得到所述第二JS文件对应的第二字节码文件;
将所述第二字节码文件与所述第二JS文件对应保存;
其中,所述符合预设条件的第二应用表征未存储有相应字节码文件的应用。
在一些实施例中,所述预检测模块,用于接收第二指令;所述第二指令用于指示添加有第二应用,或者,指示到达检测时间;
根据第二指令,检测符合预设条件的第二应用。
在一些实施例中,所述运用所述第一字节码文件启动所述第一应用,包括:
将所述第一字节码文件编译为第一机器码文件;
执行所述第一机器码文件,以启动所述第一应用。
需要说明的是:上述实施例提供的应用启动装置在实现相应应用启动方法时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将网络设备的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的装置与相应方法的实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5为本发明实施例提供的一种应用启动装置的结构示意图;如图5所示,所述装置50包括:处理器501和用于存储能够在所述处理器上运行的计算机程序的存储器502;其中,所述处理器501用于运行所述计算机程序时,执行:接收第一指令;所述第一指令用于请求启动第一应用;根据所述第一指令检测本地是否存储有第一字节码文件;所述第一字节码文件对应所述第一应用;确定本地存储有所述第一字节码文件,运用所述第一字节码文件启动所述第一应用。
在一实施例中,所述处理器501还用于运行所述计算机程序时,执行:确定本地未存储有所述第一字节码文件,解析所述第一应用的第一JS文件,得到所述第一JS文件对应的第一字节码文件;运用所述第一字节码文件启动所述第一应用,以及,将所述第一字节码文件保存在本地。
在一实施例中,所述处理器501还用于运行所述计算机程序时,执行:确定所述第一指令对应的第一应用;检测所述第一应用的文件夹中是否存储有所述第一字节码文件,或者,缓存中是否存储有第一JS文件对应的第一字节码文件。
在一实施例中,所述处理器501还用于运行所述计算机程序时,执行:确定符合预设条件的第二应用;获取所述第二应用对应的第二JS文件;解析所述第二JS文件,得到所述第二JS文件对应的第二字节码文件;将所述第二字节码文件与所述第二JS文件对应保存;其中,所述符合预设条件的第二应用表征未存储有相应字节码文件的应用。
在一实施例中,所述处理器501还用于运行所述计算机程序时,执行:接收第二指令;所述第二指令用于指示添加有第二应用,或者,指示到达检测时间;根据第二指令,检测符合预设条件的第二应用。
在一实施例中,所述处理器501还用于运行所述计算机程序时,执行:将所述第一字节码文件编译为第一机器码文件;执行所述第一机器码文件,以启动所述第一应用。
其中,所述处理器运行所述计算机程序时实现本发明实施例的各个方法中由终端实现的相应流程,为了简洁,在此不再赘述。
实际应用时,所述装置50还可以包括:至少一个网络接口503。应用启动装置50中的各个组件通过总线系统504耦合在一起。可理解,总线系统504用于实现这些组件之间的连接通信。总线系统504除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统504。其中,所述处理器501的个数可以为至少一个。网络接口503用于应用启动装置50与其他设备之间有线或无线方式的通信。
本发明实施例中的存储器502用于存储各种类型的数据以支持应用启动装置50的操作。
上述本发明实施例揭示的方法可以应用于处理器501中,或者由处理器501实现。处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(DSP,DiGital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器501可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,应用启动装置50可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序;所述计算机程序被处理器运行时,执行:接收第一指令;所述第一指令用于请求启动第一应用;根据所述第一指令检测本地是否存储有第一字节码文件;所述第一字节码文件对应所述第一应用;确定本地存储有所述第一字节码文件,运用所述第一字节码文件启动所述第一应用。
在一实施例中,所述计算机程序被处理器运行时,执行:确定本地未存储有所述第一字节码文件,解析所述第一应用的第一JS文件,得到所述第一JS文件对应的第一字节码文件;运用所述第一字节码文件启动所述第一应用,以及,将所述第一字节码文件保存在本地。
在一实施例中,所述计算机程序被处理器运行时,执行:确定所述第一指令对应的第一应用;检测所述第一应用的文件夹中是否存储有所述第一字节码文件,或者,缓存中是否存储有第一JS文件对应的第一字节码文件。
在一实施例中,所述计算机程序被处理器运行时,执行:确定符合预设条件的第二应用;获取所述第二应用对应的第二JS文件;解析所述第二JS文件,得到所述第二JS文件对应的第二字节码文件;将所述第二字节码文件与所述第二JS文件对应保存;其中,所述符合预设条件的第二应用表征未存储有相应字节码文件的应用。
在一实施例中,所述计算机程序被处理器运行时,执行:接收第二指令;所述第二指令用于指示添加有第二应用,或者,指示到达检测时间;根据第二指令,检测符合预设条件的第二应用。
在一实施例中,所述计算机程序被处理器运行时,执行:将所述第一字节码文件编译为第一机器码文件;执行所述第一机器码文件,以启动所述第一应用。
其中,所述计算机程序被处理器运行时实现本发明实施例的各个方法中由终端实现的相应流程,为了简洁,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种应用启动方法,其特征在于,应用于终端,所述方法包括:
接收第一指令;所述第一指令用于请求启动第一应用;
根据所述第一指令检测本地是否存储有第一字节码文件;所述第一字节码文件对应所述第一应用;
确定本地存储有所述第一字节码文件,运用所述第一字节码文件启动所述第一应用。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定本地未存储有所述第一字节码文件,解析所述第一应用的第一JS文件,得到所述第一JS文件对应的第一字节码文件;
运用所述第一字节码文件启动所述第一应用,以及,将所述第一字节码文件保存在本地。
3.根据权利要求1或2所述的方法,其特征在于,所述检测本地是否存储有第一字节码文件,包括:
确定所述第一指令对应的第一应用;
检测所述第一应用的文件夹中是否存储有所述第一字节码文件,或者,缓存中是否存储有第一JS文件对应的第一字节码文件。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定符合预设条件的第二应用;
获取所述第二应用对应的第二JS文件;
解析所述第二JS文件,得到所述第二JS文件对应的第二字节码文件;
将所述第二字节码文件与所述第二JS文件对应保存;
其中,所述符合预设条件的第二应用表征未存储有相应字节码文件的应用。
5.根据权利要求4所述的方法,其特征在于,所述确定符合预设条件的第二应用,包括:
接收第二指令;所述第二指令用于指示添加有第二应用,或者,指示到达检测时间;
根据第二指令,检测符合预设条件的第二应用。
6.根据权利要求1或2所述的方法,其特征在于,所述运用所述第一字节码文件启动所述第一应用,包括:
将所述第一字节码文件编译为第一机器码文件;
执行所述第一机器码文件,以启动所述第一应用。
7.一种应用启动装置,其特征在于,所述装置包括:
接收模块,用于接收第一指令;所述第一指令用于请求启动第一应用;
第一处理模块,用于根据所述第一指令检测本地是否存储有第一字节码文件;所述第一字节码文件对应所述第一应用;
确定本地存储有所述第一字节码文件,运用所述第一字节码文件启动所述第一应用。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:第二处理模块,用于确定本地未存储有所述第一字节码文件,解析所述第一应用的第一JS文件,得到所述第一JS文件对应的第一字节码文件;
运用所述第一字节码文件启动所述第一应用,以及,将所述第一字节码文件保存在本地。
9.一种应用启动装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010805517.3A CN112035178A (zh) | 2020-08-12 | 2020-08-12 | 一种应用启动方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010805517.3A CN112035178A (zh) | 2020-08-12 | 2020-08-12 | 一种应用启动方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112035178A true CN112035178A (zh) | 2020-12-04 |
Family
ID=73577813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010805517.3A Pending CN112035178A (zh) | 2020-08-12 | 2020-08-12 | 一种应用启动方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035178A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117130688A (zh) * | 2023-09-06 | 2023-11-28 | 南京荣耀软件技术有限公司 | 快应用卡片加载方法、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176807A (zh) * | 2011-12-22 | 2013-06-26 | 盛乐信息技术(上海)有限公司 | 网页应用执行的提速方法及系统 |
CN103177199A (zh) * | 2011-12-22 | 2013-06-26 | 盛乐信息技术(上海)有限公司 | 网页应用代码保护方法及系统和执行的提速方法及系统 |
US9798532B1 (en) * | 2013-03-13 | 2017-10-24 | Google Inc. | Precompiling locally-stored instructions for a web application |
CN108920704A (zh) * | 2018-07-19 | 2018-11-30 | Oppo(重庆)智能科技有限公司 | 文件恢复方法、文件恢复装置及移动终端 |
CN109325194A (zh) * | 2018-07-03 | 2019-02-12 | 优视科技有限公司 | 页面访问方法、装置、设备以及存储介质 |
-
2020
- 2020-08-12 CN CN202010805517.3A patent/CN112035178A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176807A (zh) * | 2011-12-22 | 2013-06-26 | 盛乐信息技术(上海)有限公司 | 网页应用执行的提速方法及系统 |
CN103177199A (zh) * | 2011-12-22 | 2013-06-26 | 盛乐信息技术(上海)有限公司 | 网页应用代码保护方法及系统和执行的提速方法及系统 |
US9798532B1 (en) * | 2013-03-13 | 2017-10-24 | Google Inc. | Precompiling locally-stored instructions for a web application |
CN109325194A (zh) * | 2018-07-03 | 2019-02-12 | 优视科技有限公司 | 页面访问方法、装置、设备以及存储介质 |
CN108920704A (zh) * | 2018-07-19 | 2018-11-30 | Oppo(重庆)智能科技有限公司 | 文件恢复方法、文件恢复装置及移动终端 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117130688A (zh) * | 2023-09-06 | 2023-11-28 | 南京荣耀软件技术有限公司 | 快应用卡片加载方法、电子设备及存储介质 |
CN117130688B (zh) * | 2023-09-06 | 2024-05-24 | 南京荣耀软件技术有限公司 | 快应用卡片加载方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110187931B (zh) | 小程序的运行方法及装置 | |
EP2524306B1 (en) | Execution of dynamic languages via metadata extraction | |
CN107967139B (zh) | 游戏的热更新方法及装置 | |
CN108647032B (zh) | 应用加载方法及装置、计算机装置和计算机可读存储介质 | |
CN110874236A (zh) | 一种跨平台应用装置、终端及存储介质 | |
CN112948026A (zh) | 热点代码处理方法、装置、服务器、电子设备及存储介质 | |
CN109492181A (zh) | 页面跳转方法、装置、计算机设备和存储介质 | |
JP2020500368A (ja) | データプリフェッチング方法、装置、およびシステム | |
GB2563381A (en) | Method and apparatus for executing a scripting language | |
CN112148386A (zh) | 一种应用加载方法、装置及计算机可读存储介质 | |
CN112035178A (zh) | 一种应用启动方法、装置和存储介质 | |
CN107423093B (zh) | 控制方法及装置、计算机装置和计算机可读存储介质 | |
CN113010178B (zh) | 应用程序运行控制方法、装置、设备和介质 | |
CN111552524B (zh) | 一种插件加载方法、装置及计算机可读存储介质 | |
CN111596970A (zh) | 动态库延迟加载方法、装置、设备和存储介质 | |
CN115756723A (zh) | 代码预热的方法、装置、电子设备及计算机可读介质 | |
CN112035179A (zh) | 一种应用启动方法、装置和存储介质 | |
CN112148318B (zh) | 应用包发布方法、应用方法、装置、介质、服务器及设备 | |
CN114489698A (zh) | 应用程序安装方法和装置 | |
CN109408063B (zh) | 基于虚拟机的指令插桩方法及装置 | |
CN115904928A (zh) | 一种慢函数监控的插桩方法、装置、设备及存储介质 | |
CN114461954A (zh) | 动态插件运行方法、装置、系统及存储介质 | |
CN113467815A (zh) | 热更新的应用修复方法、装置、终端设备及存储介质 | |
CN112114889B (zh) | 信息处理方法和装置、及存储介质 | |
JP2010140233A (ja) | エミュレーションシステム及びエミュレーション方法 |
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 |