CN114489672A - 开机加速方法、装置、电子设备及存储介质 - Google Patents
开机加速方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114489672A CN114489672A CN202210102437.0A CN202210102437A CN114489672A CN 114489672 A CN114489672 A CN 114489672A CN 202210102437 A CN202210102437 A CN 202210102437A CN 114489672 A CN114489672 A CN 114489672A
- Authority
- CN
- China
- Prior art keywords
- compiling
- application program
- program
- determining
- mode
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种开机加速方法、装置、电子设备及存储介质,该方法包括:在检测到开机指令时,扫描电子设备的所有应用程序,按照预设的分类规则对各个应用程序进行分类,确定对应的编译方式,按照编译方式执行各个应用程序,实现了电子设备的开机启动,相较于传统的对于所有应用程序进行dex2oat的编译,由于应用程序的编译方式是根据应用程序的相关信息进行分类后确定的,使得各个应用程序的编译方式为最优的编译方式,极大提高了应用程序的加载编译速度,实现了对电子设备的开机启动的加速,进而提升了用户体验。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种开机加速方法、装置、电子设备及存储介质。
背景技术
目前,电子设备如手机、平板电脑中通常安装了较多的APP(Application,应用程序),对于安卓(Android)系统的电子设备,在电子设备第一次开机或者电子设备进行系统升级后的开机时,安卓系统对所有的APP的dex文件(Android系统的可执行文件)进行编译,也即针对每一个APP做一次dex2oat的编译,这个编译过程非常耗时,APP越多时间越长,使得开机速度缓慢,影响用户体验,特别是在用户在第一次开机时,如果开机速度较慢,可能用户以为电子设备存在故障,因此,如何提高电子设备的开机速度成为本领域技术亟待解决的问题。
发明内容
本申请实施例提供一种开机加速方法、装置、电子设备及存储介质,以解决电子设备的开机启动时间长、用户体验较差的技术问题。
一方面,本申请提供一种开机加速方法,应用于基于安卓系统的电子设备,包括:
当检测到开机指令时,扫描所述电子设备的所有应用程序;
按照预设的分类规则对各个所述应用程序进行分类,确定对应的编译方式;
按照所述编译方式执行各个所述应用程序。
一方面,本申请提供一种开机加速装置,应用于基于安卓系统的电子设备,包括:
当检测到开机指令时,扫描所述电子设备的所有应用程序;
按照预设的分类规则对各个所述应用程序进行分类,确定对应的编译方式;
按照所述编译方式执行各个所述应用程序。
一方面,本申请提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述开机加速方法中的步骤。
一方面,本申请提供一种计算机可读介质,存储有计算机程序,所述计算机程序被处理器执行时,实现上述开机加速方法中的步骤。
本申请实施例提供了一种开机加速方法,该方法包括:当检测到开机指令时,扫描电子设备的所有应用程序,按照预设的分类规则对各个应用程序进行分类,确定对应的编译方式,按照编译方式执行各个应用程序,实现了电子设备的开机启动,相较于传统的对于所有应用程序进行dex2oat的编译,由于应用程序的编译方式是根据应用程序的相关信息进行分类后确定的,使得各个应用程序的编译方式为最优的编译方式,加快了编译速度,极大提高了应用程序的加载编译速度,实现了对电子设备的开机的加速,进而提升了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中开机加速方法的流程图;
图2为一个实施例中编译方式确定方法的流程图;
图3为另一个实施例中开机加速方法的流程图;
图4为一个实施例中是否存在Activity组件判断方法的流程图;
图5为一个实施例中开机加速装置的结构框图;
图6为一个实施例中电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,在一个实施例中,提供了一种开机加速方法,该开机加速方法应用于基于安卓系统的电子设备。该开机加速方法具体包括以下步骤:
步骤102,当检测到开机指令时,扫描电子设备的所有应用程序。
其中,开机指令是指用户通过操作基于安卓系统的电子设备,向电子设备发送的用于对电子设备进行开机启动的命令,可以通过点击电子设备的开机键触发开机指令,电子设备在接收到开机指令后,通过包管理器扫描所有应用程序,由于本申请中的电子设备为基于安卓系统的电子设备,由此可知,应用程序均为安卓应用程序,也即所有应用程序的编译方式为dex2oat的编译。
步骤104,按照预设的分类规则对各个应用程序进行分类,确定对应的编译方式。
其中,预设的分类规则是指预先设定的用于根据应用程序的相关信息进行分类的规则,该规则可以是根据应用程序是否存在Activity组件的进行分类的规则,也可以根据应用程序使用的频率进行分类的规则,还可以是根据应用程序是否存在Activity组件的规则与根据应用程序使用的频率进行分类的规则的组合,具体可根据应用程序的相关信息进行确定,此处不作限制。编译方式是指对应用程序进行加载执行的方式,例如,verify过滤器、quicken过滤器、speed-profile过滤器或者speed过滤器,根据应用程序的类型,确定对应的编译方式,使得编译方式为该类型的应用程序的最佳编译方式,也即该编译方式可以提高应用程序的编译速度。本实施例中,通过对应用程序进行分类,从而确定了不同应用程序对应的类型,以便后续针对应用程序的类型确定对应的编译方式,提高电子设备对应用程序的编译效率,进而提高电子设备的开机启动速度。
步骤106,按照编译方式执行各个应用程序。
具体地,针对每个应用程序,按照对应的编译方式进行加载执行,由于应用程序的编译方式是根据应用程序的相关信息进行分类后确定的,使得各个应用程序的编译方式为最优的编译方式,加快了编译速度,因此,针对每个应用程序,按照对应的编译方式执行,实现了电子设备的开机启动,相较于传统的对于所有应用程序进行dex2oat的编译,极大提高了应用程序的加载编译速度,实现了对电子设备的开机的加速,进而提升了用户体验。
上述开机加速方法,当检测到开机指令时,扫描电子设备的所有应用程序,按照预设的分类规则对各个应用程序进行分类,确定对应的编译方式,按照编译方式执行各个应用程序,实现了电子设备的开机启动,相较于传统的对于所有应用程序进行dex2oat的编译,由于应用程序的编译方式是根据应用程序的相关信息进行分类后确定的,使得各个应用程序的编译方式为最优的编译方式,加快了编译速度。极大提高了应用程序的加载编译速度,实现了对电子设备的开机的加速,进而提升了用户体验。
如图2所示,在一个实施例中,编译方式包括第一编译方式和第二编译方式,且第一编译方式的编译速度高于第二编译方式的编译速度,按照预设的分类规则对各个应用程序进行分类,确定对应的编译方式的步骤,包括:
步骤104A,判断各个应用程序中是否存在Activity组件,将存在Activity组件的应用程序确定为第一程序,将不存在Activity组件的应用程序确定为第二程序;
步骤104B,计算第一程序的第一数量与第二程序的第二数量的比例;
步骤104C,当比例大于预设阈值时,确定各个第一程序的编译方式为第一编译方式,并确定各个第二程序的编译方式为第二编译方式。
其中,编译方式包括第一编译方式和第二编译方式,且第一编译方式的编译速度高于第二编译方式的编译速度,例如,第一编译方式为verify过滤器、第二编译方式quicken过滤器、speed-profile过滤器或者speed过滤器中的一种;又例如,第一编译方式为quicken过滤器,第二编译方式为speed-profile过滤器或者speed过滤器;还例如,第一编译方式为speed-profile过滤器,第二编译方式为speed过滤器等。值得说明的是,编译速度越快,对应的执行效率越低,第二编译方式的执行效率高于第一编译方式的执行效率。具体地,根据应用程序是否存在Activity组件,将应用程序分为两类,也即第一程序和第二程序,其中,不存在Activity组件的应用程序,例如不需要于用户交互的应用程序,又例如,应用的主题插件等,不存在Activity组件。可以理解地,对于不存在Activity组件的应用程序,无需进行DEX代码的优化,因此,针对不存在Activity组件的应用程序,可以确定对应的编译方式为verify过滤器的编译方式,减少对不存在Activity组件的DEX代码的冗余的优化操作,提高编译速度。因此,若电子设备中安装的应用程序中,不存在Activity组件的应用程序的数量占比越多,相较于相同数量的应用程序,编译时间越少,因此,为了确保在一定程度上减少应用程序的加载编译时间,通过计算不存在Activity组件的应用程序的数量与存在Activity组件的应用程序的数量比例,该比例与不存在Activity组件的应用程序的数量的占比为正相关性关系,也即比例越大,不存在Activity组件的应用程序的数量的占比也越大,在比例大于预设阈值,例如,该预设阈值可以是20%、30%或者40%等,也即比例足够大时,确定各个第一程序的编译方式为第一编译方式,并确定各个第二程序的编译方式为第二编译方式,因此,采用第一编译方式的应用程序越多,并且,由于第一编译方式的编译速度高于第二编译方式的编译速度,因此,极大地减少了第一程序的编译时间,极大提高了电子设备的开机启动速度。
如图3所示,在一个实施例中,在计算第一程序的第一数量与第二程序的第二数量的比例的步骤之后,还包括:
步骤104D,当比例小于或者等于预设阈值时,则获取各个应用程序的热度评分;
步骤104E,确定热度评分值排名位于后百分之N的应用程序的编译方式为第一编译方式,并确定剩余的应用程序的编译方式为第二编译方式,其中,N为小于100的正数。
在这个实施例中,当比例小于或者等于预设阈值时,即第一程序的数量小于第二程序的数量,也即不存在Activity组件的应用程序的数量占比较少,为了确保在一定程度上减少应用程序的加载编译时间,则根据各个应用程序的热度评分确定对应的编译类型,具体地,预先配置应用程序的热度与热度评分的对应关系表,其中,应用程序的热度与热度评分为正相关关系,即应用程序的热度越高,对应的热度评分越高,根据该对应关系表确定各个应用程序的热度评分,值得说明的是,应用程序的热度越高,表明用户使用的频率越高,因此,为了确保用户的体验,需要保证该类应用程序的执行效率满足一定的要求,因此,确定该类应用程序的编译方式为编译速度低于第一编译方式的编译方式,即第二编译方式,以保证用户体验。应用程序的热度越低,表明用户使用的频率越低,因此,用户对该类的应用程序感知度较小,如此,确定热度评分值排名位于后百分之N的应用程序,即热度评分较低的后百分之N(如N=40、50或者60等)个应用程序的编译方式为第一编译方式,即减少了一定比例的应用程序的编译时间,并且保证了用户对该类应用程序的无感知,进一步提高了应用程序的编译速度,提高了电子设备的开机速度和用户体验。
如图4所示,在一个实施例中,判断各个应用程序中是否存在Activity组件的步骤,包括:
步骤104A1,获取各个应用程序的apk包名;
步骤104A2,对各个apk包名进行解析,确定对应的应用程序是否包含Activity组件。
其中,apk包名(Package name)是指在Android系统中判断一个应用程序的唯一标识,具体地,可以通过查看应用程序源代码(如“AndroidManifest.xml”的文件)、也可以通过查看目录(如/data/data/目录)、还可以通过安卓系统的工具获取,然后,利用dumpsyspackage命令解析apk包名,获取对应的应用程序的基本信息,根据该基本信息确定是否包含Activity组件。
在一个实施例中,获取各个应用程序的apk包名的步骤,包括:获取各个应用程序的apk路径;根据各个apk路径确定apk包名。
具体地,利用Android系统提供的工具,在PackageManagerService优化应用程序时,传入apk路径,根据apk路径使用pm list package-f获取到apk包名。
在一个实施例中,第一编译方式为verify过滤器,第二编译方式为quicken过滤器。
其中,verify过滤器的只运行DEX代码验证,quicken过滤器运行DEX代码进行验证和优化,可以理解地,verify过滤器和quicken过滤器为安卓系统中地四个官方过滤器中,编译速度靠前的两种,且quicken过滤器能够保证应用程序的执行效率,因此,选取第一编译方式为verify过滤器,第二编译方式为quicken过滤器,极大提高了应用程序的加载编译速度,且保证了第二程序的执行效率,更进一步提高了电子设备的开机启动速度和用户体验。
在一个实施例中,按照编译方式执行各个应用程序的步骤,包括:对各个第一程序的DEX代码进行验证;对各个第二程序的DEX代码进行验证和优化。
具体地,对各个第一程序的DEX代码进行验证,避免了冗余的编译,极大提高了编译速度,且由于是对第一程序的DEX代码进行验证,还减少了用户感知度,对各个第二程序的DEX代码进行验证和优化,提高了第二程序的执行效率,提升了用户体验。可以理解地,本实施例中,通过对各个第一程序的DEX代码进行验证并对各个第二程序的DEX代码进行验证和优化,在大大提高第一程序和第二程序的编译速度的同时,减少了用户对第一程序的感知度,且提高了第二应用程序的执行效率,大大提升了用户开机体验。
如图5所示,在一个实施例中,提出了一种开机加速装置,包括:
扫描模块502,用于当检测到开机指令时,扫描所述电子设备的所有应用程序;
分类模块504,用于按照预设的分类规则对各个所述应用程序进行分类,确定对应的编译方式;
执行模块506,用于按照所述编译方式执行各个所述应用程序。
在一个实施例中,分类模块包括:
判断子模块,用于判断各个所述应用程序中是否存在Activity组件,将存在Activity组件的所述应用程序确定为第一程序,将不存在Activity组件的所述应用程序确定为第二程序;
计算子模块,用于计算所述第一程序的第一数量与所述第二程序的第二数量的比例;
第一确定子模块,用于当所述比例大于预设阈值时,确定各个所述第一程序的编译方式为所述第一编译方式,并确定各个所述第二程序的编译方式为所述第二编译方式。
在一个实施例中,判断子模块包括:
获取单元,用于获取各个所述应用程序的apk包名;
解析单元,用于对各个所述apk包名进行解析,确定对应的所述应用程序是否包含Activity组件。
在一个实施例中,解析单元包括:
获取子单元,用于获取各个所述应用程序的apk路径;
确定子单元,用于根据各个所述apk路径确定所述apk包名。
在一个实施例中,执行模块包括:
第一执行单元,用于对各个所述第一程序的DEX代码进行验证;
第二执行单元,用于对各个所述第二程序的DEX代码进行验证和优化。
图6示出了一个实施例中电子设备的内部结构图。该电子设备具体可以是服务器,所述服务器包括但不限于高性能计算机和高性能计算机集群。如图6所示,该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该电子设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现开机加速方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行开机加速方法。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的开机加速方法可以实现为一种计算机程序的形式,计算机程序可在如图6所示的电子设备上运行。电子设备的存储器中可存储组成开机加速装置的各个程序模板。比如,扫描模块502,分类模块504,执行模块506。
一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:当检测到开机指令时,扫描所述电子设备的所有应用程序;按照预设的分类规则对各个所述应用程序进行分类,确定对应的编译方式;按照所述编译方式执行各个所述应用程序。
在一个实施例中,所述编译方式包括第一编译方式和第二编译方式,且所述第一编译方式的编译速度高于所述第二编译方式的编译速度,所述按照预设的分类规则对各个所述应用程序进行分类,确定对应的编译方式的步骤,包括:判断各个所述应用程序中是否存在Activity组件,将存在Activity组件的所述应用程序确定为第一程序,将不存在Activity组件的所述应用程序确定为第二程序;计算所述第一程序的第一数量与所述第二程序的第二数量的比例;当所述比例大于预设阈值时,确定各个所述第一程序的编译方式为所述第一编译方式,并确定各个所述第二程序的编译方式为所述第二编译方式。
在一个实施例中,在所述计算所述第一程序的第一数量与所述第二程序的第二数量的比例的步骤之后,还包括:当所述比例小于或者等于预设阈值时,则获取各个所述应用程序的热度评分;确定所述热度评分值排名位于后百分之N的应用程序的所述编译方式为所述第一编译方式,并确定剩余的所述应用程序的所述编译方式为所述第二编译方式。
在一个实施例中,所述判断各个所述应用程序中是否存在Activity组件的步骤,包括:获取各个所述应用程序的apk包名;对各个所述apk包名进行解析,确定对应的所述应用程序是否包含Activity组件。
在一个实施例中,所述获取各个所述应用程序的apk包名的步骤,包括:获取各个所述应用程序的apk路径;根据各个所述apk路径确定所述apk包名。
在一个实施例中,所述第一编译方式为verify过滤器,所述第二编译方式为quicken过滤器。
在一个实施例中,所述按照所述编译方式执行各个所述应用程序的步骤,包括:对各个所述第一程序的DEX代码进行验证;对各个所述第二程序的DEX代码进行验证和优化。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:当检测到开机指令时,扫描所述电子设备的所有应用程序;按照预设的分类规则对各个所述应用程序进行分类,确定对应的编译方式;按照所述编译方式执行各个所述应用程序。
在一个实施例中,所述编译方式包括第一编译方式和第二编译方式,且所述第一编译方式的编译速度高于所述第二编译方式的编译速度,所述按照预设的分类规则对各个所述应用程序进行分类,确定对应的编译方式的步骤,包括:判断各个所述应用程序中是否存在Activity组件,将存在Activity组件的所述应用程序确定为第一程序,将不存在Activity组件的所述应用程序确定为第二程序;计算所述第一程序的第一数量与所述第二程序的第二数量的比例;当所述比例大于预设阈值时,确定各个所述第一程序的编译方式为所述第一编译方式,并确定各个所述第二程序的编译方式为所述第二编译方式。
在一个实施例中,在所述计算所述第一程序的第一数量与所述第二程序的第二数量的比例的步骤之后,还包括:当所述比例小于或者等于预设阈值时,则获取各个所述应用程序的热度评分;确定所述热度评分值排名位于后百分之N的应用程序的所述编译方式为所述第一编译方式,并确定剩余的所述应用程序的所述编译方式为所述第二编译方式。
在一个实施例中,所述判断各个所述应用程序中是否存在Activity组件的步骤,包括:获取各个所述应用程序的apk包名;对各个所述apk包名进行解析,确定对应的所述应用程序是否包含Activity组件。
在一个实施例中,所述获取各个所述应用程序的apk包名的步骤,包括:获取各个所述应用程序的apk路径;根据各个所述apk路径确定所述apk包名。
在一个实施例中,所述第一编译方式为verify过滤器,所述第二编译方式为quicken过滤器。
在一个实施例中,所述按照所述编译方式执行各个所述应用程序的步骤,包括:对各个所述第一程序的DEX代码进行验证;对各个所述第二程序的DEX代码进行验证和优化。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种开机加速方法,应用于基于安卓系统的电子设备,其特征在于,包括:
当检测到开机指令时,扫描所述电子设备的所有应用程序;
按照预设的分类规则对各个所述应用程序进行分类,确定对应的编译方式;
按照所述编译方式执行各个所述应用程序。
2.如权利要求1所述的开机加速方法,其特征在于,所述编译方式包括第一编译方式和第二编译方式,且所述第一编译方式的编译速度高于所述第二编译方式的编译速度,所述按照预设的分类规则对各个所述应用程序进行分类,确定对应的编译方式的步骤,包括:
判断各个所述应用程序中是否存在Activity组件,将存在Activity组件的所述应用程序确定为第一程序,将不存在Activity组件的所述应用程序确定为第二程序;
计算所述第一程序的第一数量与所述第二程序的第二数量的比例;
当所述比例大于预设阈值时,确定各个所述第一程序的编译方式为所述第一编译方式,并确定各个所述第二程序的编译方式为所述第二编译方式。
3.如权利要求2所述的开机加速方法,其特征在于,在所述计算所述第一程序的第一数量与所述第二程序的第二数量的比例的步骤之后,还包括:
当所述比例小于或者等于预设阈值时,则获取各个所述应用程序的热度评分;
确定所述热度评分值排名位于后百分之N的应用程序的所述编译方式为所述第一编译方式,并确定剩余的所述应用程序的所述编译方式为所述第二编译方式,其中,N为小于100的正数。
4.如权利要求2所述的开机加速方法,其特征在于,所述判断各个所述应用程序中是否存在Activity组件的步骤,包括:
获取各个所述应用程序的apk包名;
对各个所述apk包名进行解析,确定对应的所述应用程序是否包含Activity组件。
5.如权利要求4所述的开机加速方法,其特征在于,所述获取各个所述应用程序的apk包名的步骤,包括:
获取各个所述应用程序的apk路径;
根据各个所述apk路径确定所述apk包名。
6.如权利要求2所述的开机加速方法,其特征在于,所述第一编译方式为verify过滤器,所述第二编译方式为quicken过滤器。
7.如权利要求6所述的开机加速方法,其特征在于,所述按照所述编译方式执行各个所述应用程序的步骤,包括:
对各个所述第一程序的DEX代码进行验证;
对各个所述第二程序的DEX代码进行验证和优化。
8.一种开机加速装置,应用于基于安卓系统的电子设备,其特征在于,包括:
扫描模块,用于当检测到开机指令时,扫描所述电子设备的所有应用程序;
分类模块,用于按照预设的分类规则对各个所述应用程序进行分类,确定对应的编译方式;
执行模块,用于按照所述编译方式执行各个所述应用程序。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述开机加速方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述开机加速方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210102437.0A CN114489672A (zh) | 2022-01-27 | 2022-01-27 | 开机加速方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210102437.0A CN114489672A (zh) | 2022-01-27 | 2022-01-27 | 开机加速方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114489672A true CN114489672A (zh) | 2022-05-13 |
Family
ID=81477148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210102437.0A Pending CN114489672A (zh) | 2022-01-27 | 2022-01-27 | 开机加速方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489672A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115543334A (zh) * | 2022-09-19 | 2022-12-30 | 荣耀终端有限公司 | 编译优化方法及电子设备 |
-
2022
- 2022-01-27 CN CN202210102437.0A patent/CN114489672A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115543334A (zh) * | 2022-09-19 | 2022-12-30 | 荣耀终端有限公司 | 编译优化方法及电子设备 |
CN115543334B (zh) * | 2022-09-19 | 2023-10-27 | 荣耀终端有限公司 | 编译优化方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109032631B (zh) | 应用程序补丁包获取方法、装置、计算机设备及存储介质 | |
US9742640B2 (en) | Identifying compatible web service policies | |
CN110231994B (zh) | 内存分析方法、装置和计算机可读存储介质 | |
CN109597618B (zh) | 程序开发方法、装置、计算机设备及存储介质 | |
CN107368343B (zh) | 一种基于安卓系统的终端开机方法、终端及存储介质 | |
CN112685410B (zh) | 业务规则校验方法、装置、计算机设备及存储介质 | |
CN111124486A (zh) | 发现安卓应用引用第三方工具的方法、系统及存储介质 | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN110688168A (zh) | 提高应用程序启动速度方法、装置、设备及存储介质 | |
CN110543427A (zh) | 测试用例存储方法、装置、电子设备及存储介质 | |
CN114489672A (zh) | 开机加速方法、装置、电子设备及存储介质 | |
CN111125721A (zh) | 一种进程启动的控制方法、计算机设备和可读存储介质 | |
CN111382179B (zh) | 数据处理方法、装置及电子设备 | |
CN110727467A (zh) | 大数据环境下实现服务器性能优化处理的系统及其方法 | |
CN111026669A (zh) | 测试日志管理方法、测试日志管理装置及存储介质 | |
CN110795197A (zh) | 枚举类的国际化方法、装置、计算机设备及存储介质 | |
CN115421699A (zh) | 类继承关系分析方法、装置、计算机设备和存储介质 | |
CN113535206B (zh) | 多版本代码升级方法及系统 | |
CN113553110A (zh) | 一种服务器的硬件基线自动化修正方法、装置及系统 | |
US20050183081A1 (en) | Installation of a compiled program, particularly in a chip card | |
CN106326310B (zh) | 一种手机客户端软件的资源加密更新方法 | |
CN112433743B (zh) | 一种文件更新方法、装置、电子设备及存储介质 | |
CN111984299A (zh) | 一种数据加载的方法和设备 | |
CN114896211B (zh) | 一种基于云渲染应用的共享资产文件方法及系统 | |
CN111258586B (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 |