CN109388552B - 启动应用程序的时长的确定方法、装置及存储介质 - Google Patents
启动应用程序的时长的确定方法、装置及存储介质 Download PDFInfo
- Publication number
- CN109388552B CN109388552B CN201710667951.8A CN201710667951A CN109388552B CN 109388552 B CN109388552 B CN 109388552B CN 201710667951 A CN201710667951 A CN 201710667951A CN 109388552 B CN109388552 B CN 109388552B
- Authority
- CN
- China
- Prior art keywords
- starting
- application program
- information
- historical
- cpu
- 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 60
- 230000008569 process Effects 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims description 13
- 230000004913 activation Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000000694 effects Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000020169 heat generation Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008570 general process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- 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
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种启动应用程序的时长的确定方法、装置及存储介质,该方法包括:获取应用程序的启动信息,其中,启动信息包括以下至少之一:中央处理器CPU当前的使用率,内存占用率,应用程序的进程信息;根据启动信息确定应用程序的历史启动时长信息;利用历史启动时长信息确定CPU当前启动应用程序的时长。通过本发明,解决了相关技术中CPU在启动应用程序时,启动时间不准确的技术问题,达到更加准确的确定应用程序的启动时间的效果。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种启动应用程序的时长的确定方法、装置及存储介质。
背景技术
目前终端平台都使用多核中央处理器(Central Processing Unit,简称为CPU),CPU在线核数越多,工作频率越高,运行能力越强,但是功耗高,发热多;CPU在线核数越少,工作频率越低,运行能力越弱,但是功耗低,发热少。所以CPU工作频率和核数一般会根据负载及温度等因素做动态调频的。
目前Android平台在应用冷启动时统一提高CPU频率,并持续一段时间,但是对于不同的应用启动时间不同,这样一刀切的配置,对于启动较快的应用会导致过多的电池消耗,降低续航时间,对于启动较慢的应用,CPU高频率持续时间太短,启动时间还是较长。另外,终端运行状态和应用实现方式对应用启动会有很大影响。
针对上述中存在CPU在启动应用程序时,启动时间不准确的技术问题,相关技术中并未提出有效的解决方案。
发明内容
本发明实施例提供了一种启动应用程序的时长的确定方法、装置及存储介质,以至少解决相关技术中CPU在启动应用程序时,启动时间不准确的技术问题。
根据本发明的一个实施例,提供了一种启动应用程序的时长的确定方法,包括:获取应用程序的启动信息,其中,所述启动信息包括以下至少之一:中央处理器CPU当前的使用率,内存占用率,所述应用程序的进程信息;根据所述启动信息确定所述应用程序的历史启动时长信息;利用所述历史启动时长信息确定所述CPU当前启动所述应用程序的时长。
可选地,根据所述启动信息确定所述应用程序的历史启动时长信息包括:在所述启动信息与记录的所述应用程序的历史启动时长匹配时,将所述历史启动时长作为所述历史启动时长信息。
可选地,利用所述历史启动时长信息确定所述CPU当前启动所述应用程序的时长包括:当所述历史启动时长信息的数目大于预定数目时,按照时长对所述历史启动时长信息进行分类;确定包括所述历史启动时长信息的数目最多的分类;根据所述分类中的多个所述历史启动时长信息确定所述应用程序的平均启动时间或中心启动时间;将所述平均启动时间或所述中心启动时间作为所述CPU当前启动所述应用程序的时长。
可选地,利用所述历史启动时长信息确定所述CPU当前启动所述应用程序的时长包括:当所述历史启动时长信息的数目小于或者等于预定数目时,读取所述应用程序启动时间的预设值;将所述预设值作为所述CPU当前启动所述应用程序的时长。
可选地,利用所述历史启动时长信息确定所述CPU当前启动所述应用程序的时长之后,所述方法还包括:根据确定的所述CPU当前启动所述应用程序的时长控制所述CPU在预定频率以及预定核数上启动所述应用程序。
可选地,利用所述历史启动时长信息确定所述CPU当前启动所述应用程序的时长之后,所述方法还包括:记录所述CPU当前启动所述应用程序的时长。
根据本发明的另一个实施例,还提出一种启动应用程序的时长的确定装置,包括:获取模块,用于获取应用程序的启动信息,其中,所述启动信息包括以下至少之一:中央处理器CPU当前的使用率,内存占用率,所述应用程序的进程信息;第一确定模块,用于根据所述启动信息确定所述应用程序的历史启动时长信息;第二确定模块,用于利用所述历史启动时长信息确定所述CPU当前启动所述应用程序的时长。
可选地,所述第一确定模块包括:第一处理单元,用于在所述启动信息与记录的所述应用程序的历史启动时长匹配时,将所述历史启动时长作为所述历史启动时长信息。
可选地,第二确定模块包括:分类单元,用于当所述历史启动时长信息的数目大于预定数目时,按照时长对所述历史启动时长信息进行分类;第一确定单元,用于确定包括所述历史启动时长信息的数目最多的分类;第二确定单元,用于根据所述分类中的多个所述历史启动时长信息确定所述应用程序的平均启动时间或中心启动时间;第二处理单元,用于将所述平均启动时间或所述中心启动时间作为所述CPU当前启动所述应用程序的时长。
可选地,第二确定模块包括:读取单元,用于当所述历史启动时长信息的数目小于或者等于预定数目时,读取所述应用程序启动时间的预设值;第三处理单元,用于将所述预设值作为所述CPU当前启动所述应用程序的时长。
可选地,所述装置还包括:控制模块,用于在利用所述历史启动时长信息确定所述CPU当前启动所述应用程序的时长之后,根据确定的所述CPU当前启动所述应用程序的时长控制所述CPU在预定频率以及预定核数上启动所述应用程序。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的方法。
根据本发明的又一个实施例,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的方法。
通过本发明,获取应用程序的启动信息后,其中,启动信息包括以下至少之一:中央处理器CPU当前的使用率,内存占用率,应用程序的进程信息;根据启动信息确定应用程序的历史启动时长信息;利用历史启动时长信息确定CPU当前启动应用程序的时长。从而可以根据确定的时长启动应用程序,解决了相关技术中CPU在启动应用程序时,启动时间不准确的技术问题,达到更加准确的确定应用程序的启动时间的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种启动应用程序的时长的确定方法的移动终端的硬件结构框图;
图2是根据本发明实施例的启动应用程序的时长的确定方法的流程图;
图3是本实施例中的处理器频率控制的装置示意图;
图4是本实施例中的处理器频率控制方法的流程图;
图5是根据本发明实施例的启动应用程序的时长的确定装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种启动应用程序的时长的确定方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的启动应用程序的时长的确定方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种启动应用程序的时长的确定方法,图2是根据本发明实施例的启动应用程序的时长的确定方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取应用程序的启动信息,其中,上述启动信息包括以下至少之一:中央处理器CPU当前的使用率,内存占用率,上述应用程序的进程信息;
步骤S204,根据上述启动信息确定上述应用程序的历史启动时长信息;利用上述历史启动时长信息确定上述CPU当前启动上述应用程序的时长。
通过上述步骤,获取应用程序的启动信息后,其中,启动信息包括以下至少之一:中央处理器CPU当前的使用率,内存占用率,应用程序的进程信息;根据启动信息确定应用程序的历史启动时长信息;利用历史启动时长信息确定CPU当前启动应用程序的时长。从而可以根据确定的时长启动应用程序,解决了相关技术中CPU在启动应用程序时,启动时间不准确的技术问题,达到更加准确的确定应用程序的启动时间的效果。
可选地,上述步骤的执行主体可以为终端等,但不限于此。
在本实施例中,上述中的内存占用率是指整个设备的内存占用率。
在一个可选的实施例中,根据上述启动信息确定上述应用程序的历史启动时长信息包括:在上述启动信息与记录的应用程序的历史启动时长匹配时,将上述历史启动时长作为上述历史启动时长信息。在本实施例中,上述中的启动时间包括的信息还可以包括其他的信息,并不限于上述中的信息。
在一个可选的实施例中,利用上述历史启动时长信息确定上述CPU当前启动上述应用程序的时长包括:当上述历史启动时长信息的数目大于预定数目时,按照时长对上述历史启动时长信息进行分类;确定包括上述历史启动时长信息的数目最多的分类;根据上述分类中的多个上述历史启动时长信息确定上述应用程序的平均启动时间或中心启动时间;将上述平均启动时间或上述中心启动时间作为上述CPU当前启动上述应用程序的时长。在本实施例中,可以根据聚类算法进行分类,或者是根据其他的算法分类。
在一个可选的实施例中,利用上述历史启动时长信息确定上述CPU当前启动上述应用程序的时长包括:当上述历史启动时长信息的数目小于或者等于预定数目时,读取上述应用程序启动时间的预设值;将上述预设值作为上述CPU当前启动上述应用程序的时长。在本实施例中,上述中的预设值可以是启动应用程序时,***的默认值,也可以进行设定。
在一个可选的实施例中,利用上述历史启动时长信息确定上述CPU当前启动上述应用程序的时长之后,上述方法还包括:根据确定的上述CPU当前启动上述应用程序的时长控制上述CPU在预定频率以及预定核数上启动上述应用程序。在本实施例中,预定频率可以是2GHZ,预定核数可以是8核。
在一个可选的实施例中,利用上述历史启动时长信息确定上述CPU当前启动上述应用程序的时长之后,上述方法还包括:记录上述CPU当前启动上述应用程序的时长。在本实施例中,记录的时长用于之后启动应用程序的参考信息。
下面结合具体实施例对本发明进行详细说明:
具体实施例1:
本实施例描述了一种处理器频率控制的方法,在应用程序冷启动之前,获取当前的CPU使用率,内存使用率,及应用相关进程是否启动等信息,根据这些条件,分析该条件下历史启动时间,应用聚类算法,把数据分为n类,对于数据最多的类,计算其平均值,并设置为本次应用冷启动时,CPU一定数目核的核打开,并设置CPU在某个固定频率的持续时间。本实施例结合了影响应用启动的主要因素,并应用聚类算法,使应用启动时间估算更加准确,这样既可以提升用户体验,又可以有效的控制功耗。
终端开机后,应用启动时,后台没有该应用的进程,这是***会重新创建一个新的进程分配给应用,这种启动方式为冷启动。如果应用启动时后台已经有该应用的进程,从已有进程来启动,这种启动方式为热启动。在android***上应用冷启动时,***会从zygote进程中分开fork创建出一个新的进程分配给该应用,之后会依次创建应用Application类,创建主活动MainActivity类等,整个过程对CPU资源消耗较多,此时打开CPU一定数量的核,并使CPU工作某个较高的频率,即可使应用冷启动时间大大缩短。本实施例即用于此类场景。
下面对zygote进程进行说明:在Android***中,所有的应用程序进程以及***服务进程SystemServer都是由Zygote进程分支(fork)出来的。在Java中,不同的虚拟机实例会为不同的应用分配不同的内存。假如Android应用应该尽可能快地启动,但如果Android***为每一个应用启动不同的Dalvik虚拟机实例,就会消耗大量的内存以及时间。Zygote让Dalvik虚拟机共享代码、低内存占用以及最小的启动时间成为可能。Zygote是一个虚拟器进程,在***引导的时候启动。Zygote预加载以及初始化核心库类。通常,这些核心类一般是只读的,也是Android SDK或者核心框架的一部分。在Java虚拟机中,每一个实例都有它自己的核心库类文件和堆对象的拷贝。
图3是本实施例中的处理器频率控制的装置示意图,如图3所示,本***包括处理器S301,内部存储器S302,外部存储器S303,总线S304。
总线S304用来连接处理器S301,内部存储器S302,外部存储器S303。
外部存储器S303保存了应用程序执行文件;应用名称,应用历次冷启动时间;应冷启动预设默认值。
应用启动时处理器S301读取外部存储器S303里的应冷启动预设默认值或该应用对应的历次冷启动的时间,这些值会暂存在内部存储器S302里,处理器S301把该时间值设置给处理器S301的对应寄存器。
图4是本实施例中的处理器频率控制方法的流程图,如图4所示,流程具体为:
步骤S401,用户冷启动某个应用。
步骤S402,获取当前设备的CPU和内存占用率,并获取和该应用相关的进程数等可能影响应用冷启动的数据。
步骤S403,读取当前条件对应的历史启动时长数据,并与要分类的分类数对比,如果要分为n类,则至少需要n+1条数据才有效,其中,n大于或者等于1。
步骤S404,如果历史时长数据不足n+1条,则使用默认配置idea启动时间。
步骤S405,读取对应条件下的所有历史时长数据。
步骤S406,把读取的数据分类。
步骤S407,取数据最多的一类,并计算此类数据的均值或者中心点。
步骤S408,把S407计算的时长平均值设置为CPU在某些核上特殊频率上运行的时长。
步骤S409,应用开始启动。
步骤S410,记录应用本次的冷启动时长。
具体实施例2:
本实施例以冷启动为例进行详细说明,具体包括以下步骤:
步骤S101,用户冷启动某个应用,常见的方式有点击触摸屏或者按键。
步骤S102,一般应用启动速度主要与CPU占用率,内存占用率等有关系,在Android上,某些应用会有后台服务,这些进程在开机时就已经启动,应用冷启动时依赖于这些进程,但是如果这些后台进程没有被启动,或者已经被杀死,这样应用启动的时候,就要先启动该服务,然后才启动主线程,这样应用启动耗时就会很长,一般进程名的前几个信息是一样的。后台依赖服务会对启动速度造成明显影响,因此必须统计后台进程的情况。
步骤S103,根据步骤S102中的条件,查找符合此条件的所有历史数据,看历史数据是否满足分类需要,比如要分为n类,最好有n+1个数据,这样方便选出数据最多的分类。
步骤S104,如果数据个数不满足n+1,则读取事先配置的默认时长值,依次数据,在S108配置为CPU工作在特殊条件的时长,然后启动应用。
步骤S105,把S103读取的历史数据,通过聚类算法进行分类,可以分为n类,比如3类。聚类算法较多,可以选用K-MEANS算法。首先从n个数据对象任意选择k个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。也可以选用K-MEDOIDS,它对于脏数据和异常数据不敏感,但是计算量较K-MEANS算法大。
步骤S107,分类完成后,把分到数据最多的类,计算分类所有数据的平均值,把它作为S108中要配置的时长,
也可以求分类中数据的中心点,这个点到其他所有点的距离之和最小,这样对于脏数据和异常数据不敏感。
步骤S108,把S107种计算得到值,作为CPU将要运行在某个特殊配置的时长,根据CPU类型不同,可以配置要运行的核数,频率等参数。
步骤S109,开始正常的冷应用启动流程。
步骤S110,记录本次应用启动的时长,为下次应用冷启动时长做参考。
对于此方法,也可以用于对已知应用做训练,并对S108里设置的时长,和S110实际启动时长,做对比,直到两个值满足一定误差后,认为已经获取到确定值,以此时长,作为此类条件下的固定启动时长配置到正式版本里,这样可以节约分类计算时间。
综上所述,通过上述中的对CPU运行时间进行的确定,可以提升应用启动速度。并且可以降低功耗,减少发热。
上述中的实施例在其它嵌入式设备上也可以应用。并且,可以使用其它新的算法来统计预估应用启动时CPU在最高频工作的时间。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种启动应用程序的时长的确定装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的启动应用程序的时长的确定装置的结构框图,如图5所示,该装置包括:获取模块502,第一确定模块504和第二确定模块506。下面对该装置进行详细说明。
获取模块502,用于获取应用程序的启动信息,其中,上述启动信息包括以下至少之一:中央处理器CPU当前的使用率,内存占用率,上述应用程序的进程信息;第一确定模块504,连接至上述中的获取模块502,用于根据上述启动信息确定上述应用程序的历史启动时长信息;第二确定模块506,连接至上述中的第一确定模块504,用于利用上述历史启动时长信息确定上述CPU当前启动上述应用程序的时长。
在一个可选的实施例中,上述第一确定模块504包括:第一处理单元,用于在上述启动信息与记录的历史启动时长匹配时,将上述历史启动时长作为上述历史启动时长信息。
在一个可选的实施例中,第二确定模块506包括:分类单元,用于当上述历史启动时长信息的数目大于预定数目时,按照时长对上述历史启动时长信息进行分类;第一确定单元,用于确定包括上述历史启动时长信息的数目最多的分类;第二确定单元,用于根据上述分类中的多个上述历史启动时长信息确定上述应用程序的平均启动时间或中心启动时间;第二处理单元,用于将上述平均启动时间或上述中心启动时间作为上述CPU当前启动上述应用程序的时长。
在一个可选的实施例中,第二确定模块506包括:读取单元,用于当上述历史启动时长信息的数目小于或者等于预定数目时,读取上述应用程序启动时间的预设值;第三处理单元,用于将上述预设值作为上述CPU当前启动上述应用程序的时长。
在一个可选的实施例中,上述装置还包括:控制模块,用于在利用上述历史启动时长信息确定上述CPU当前启动上述应用程序的时长之后,根据确定的上述CPU当前启动上述应用程序的时长控制上述CPU在预定频率以及预定核数上启动上述应用程序。
在一个可选的实施例中,上述装置还包括:记录模块,用于在利用上述历史启动时长信息确定上述CPU当前启动上述应用程序的时长之后,记录上述CPU当前启动上述应用程序的时长。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项所述的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以上各步骤的程序代码。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本发明的实施例还提供了一种处理器,该处理器用于运行程序,其中,该程序运行时执行上述任一项方法中的步骤。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种启动应用程序的时长的确定方法,其特征在于,包括:
获取应用程序的启动信息,其中,所述启动信息包括以下至少之一:中央处理器CPU当前的使用率,内存占用率,所述应用程序的进程信息;
根据所述启动信息确定所述应用程序的历史启动时长信息;
利用所述历史启动时长信息确定所述CPU当前启动所述应用程序的时长;
利用所述历史启动时长信息确定所述CPU当前启动所述应用程序的时长包括:
当所述历史启动时长信息的数目大于预定数目时,按照时长对所述历史启动时长信息采用聚类算法进行分类;
确定包括所述历史启动时长信息的数目最多的分类;
根据所述分类中的多个所述历史启动时长信息确定所述应用程序的平均启动时间或中心启动时间;
将所述平均启动时间或所述中心启动时间作为所述CPU当前启动所述应用程序的时长;
根据确定的所述CPU当前启动所述应用程序的时长控制所述CPU在预定频率以及预定核数上启动所述应用程序;
记录所述CPU当前启动所述应用程序的时长;
在所述平均启动时间或所述中心启动时间与所述CPU当前启动所述应用程序的时长的误差小于预设阈值的情况下,将所述平均启动时间或所述中心启动时间作为所述应用的固定启动时长。
2.根据权利要求1所述的方法,其特征在于,根据所述启动信息确定所述应用程序的历史启动时长信息包括:
在所述启动信息与记录的所述应用程序的历史启动时长信息匹配时,将所述历史启动时长作为所述历史启动时长信息。
3.根据权利要求1所述的方法,其特征在于,利用所述历史启动时长信息确定所述CPU当前启动所述应用程序的时长包括:
当所述历史启动时长信息的数目小于或者等于预定数目时,读取所述应用程序启动时间的预设值;
将所述预设值作为所述CPU当前启动所述应用程序的时长。
4.一种启动应用程序的时长的确定装置,其特征在于,包括:
获取模块,用于获取应用程序的启动信息,其中,所述启动信息包括以下至少之一:中央处理器CPU当前的使用率,内存占用率,所述应用程序的进程信息;
第一确定模块,用于根据所述启动信息确定所述应用程序的历史启动时长信息;
第二确定模块,用于利用所述历史启动时长信息确定所述CPU当前启动所述应用程序的时长;
其中,第二确定模块包括:
分类单元,用于当所述历史启动时长信息的数目大于预定数目时,按照时长对所述历史启动时长信息采用聚类算法进行分类;
第一确定单元,用于确定包括所述历史启动时长信息的数目最多的分类;
第二确定单元,用于根据所述分类中的多个所述历史启动时长信息确定所述应用程序的平均启动时间或中心启动时间;
第二处理单元,用于将所述平均启动时间或所述中心启动时间作为所述CPU当前启动所述应用程序的时长;根据确定的所述CPU当前启动所述应用程序的时长控制所述CPU在预定频率以及预定核数上启动所述应用程序;记录所述CPU当前启动所述应用程序的时长;在所述平均启动时间或所述中心启动时间与所述CPU当前启动所述应用程序的时长的误差小于预设阈值的情况下,将所述平均启动时间或所述中心启动时间作为所述应用的固定启动时长。
5.根据权利要求4所述的装置,其特征在于,所述第一确定模块包括:
第一处理单元,用于在所述启动信息与记录的所述应用程序的历史启动时长匹配时,将所述历史启动时长作为所述历史启动时长信息。
6.根据权利要求4所述的装置,其特征在于,第二确定模块还包括:
读取单元,用于当所述历史启动时长信息的数目小于或者等于预定数目时,读取所述应用程序启动时间的预设值;
第三处理单元,用于将所述预设值作为所述CPU当前启动所述应用程序的时长。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710667951.8A CN109388552B (zh) | 2017-08-07 | 2017-08-07 | 启动应用程序的时长的确定方法、装置及存储介质 |
PCT/CN2018/089785 WO2019029245A1 (zh) | 2017-08-07 | 2018-06-04 | 启动应用程序时长确定方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710667951.8A CN109388552B (zh) | 2017-08-07 | 2017-08-07 | 启动应用程序的时长的确定方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109388552A CN109388552A (zh) | 2019-02-26 |
CN109388552B true CN109388552B (zh) | 2024-03-26 |
Family
ID=65271146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710667951.8A Active CN109388552B (zh) | 2017-08-07 | 2017-08-07 | 启动应用程序的时长的确定方法、装置及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109388552B (zh) |
WO (1) | WO2019029245A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110768835B (zh) * | 2019-10-25 | 2022-03-25 | 杭州迪普科技股份有限公司 | 一种应用时长统计方法、装置、设备及存储介质 |
CN111651218A (zh) * | 2020-05-26 | 2020-09-11 | 北京百度网讯科技有限公司 | 一种小程序保留方法、装置、电子设备及存储介质 |
CN112783761A (zh) * | 2020-12-25 | 2021-05-11 | 广州品唯软件有限公司 | 一种应用程序的冷启动时长测试方法、装置及*** |
CN117687769A (zh) * | 2023-06-02 | 2024-03-12 | 荣耀终端有限公司 | 一种内存修复清理方法及相关设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011234049A (ja) * | 2010-04-26 | 2011-11-17 | Nec Corp | 携帯端末装置及び携帯端末装置のアプリケーション起動方法並びにコンピュータプログラム |
CN102831045A (zh) * | 2012-06-21 | 2012-12-19 | 北京奇虎科技有限公司 | 一种终端设备中启动项检测的方法和装置 |
CN103309740A (zh) * | 2013-06-05 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 程序启动方法、装置和设备 |
CN105487779A (zh) * | 2015-12-28 | 2016-04-13 | 宇龙计算机通信科技(深圳)有限公司 | 应用程序的启动方法、应用程序的启动装置和终端 |
CN105939225A (zh) * | 2016-06-23 | 2016-09-14 | 微梦创科网络科技(中国)有限公司 | 一种业务执行的方法及装置 |
CN106095489A (zh) * | 2016-05-31 | 2016-11-09 | 广东欧珀移动通信有限公司 | 一种应用控制方法及移动终端 |
CN106528216A (zh) * | 2016-10-26 | 2017-03-22 | 深圳市金立通信设备有限公司 | 一种启动应用程序的方法及终端 |
CN106658051A (zh) * | 2016-12-30 | 2017-05-10 | 中广热点云科技有限公司 | 一种缓冲播放流媒体的控制方法及*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6428459B2 (ja) * | 2015-04-14 | 2018-11-28 | 富士通株式会社 | 操作判断プログラム、操作判断方法および操作判断装置 |
CN104899090B (zh) * | 2015-05-27 | 2018-12-21 | 努比亚技术有限公司 | 快速调度应用进程的方法、装置及移动终端 |
CN105045714A (zh) * | 2015-07-25 | 2015-11-11 | 北京金山安全软件有限公司 | 一种应用软件启动时长的测试方法、装置及终端 |
CN106959892A (zh) * | 2017-03-30 | 2017-07-18 | 联想(北京)有限公司 | 进程处理方法、装置及电子设备 |
-
2017
- 2017-08-07 CN CN201710667951.8A patent/CN109388552B/zh active Active
-
2018
- 2018-06-04 WO PCT/CN2018/089785 patent/WO2019029245A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011234049A (ja) * | 2010-04-26 | 2011-11-17 | Nec Corp | 携帯端末装置及び携帯端末装置のアプリケーション起動方法並びにコンピュータプログラム |
CN102831045A (zh) * | 2012-06-21 | 2012-12-19 | 北京奇虎科技有限公司 | 一种终端设备中启动项检测的方法和装置 |
CN103309740A (zh) * | 2013-06-05 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 程序启动方法、装置和设备 |
CN105487779A (zh) * | 2015-12-28 | 2016-04-13 | 宇龙计算机通信科技(深圳)有限公司 | 应用程序的启动方法、应用程序的启动装置和终端 |
CN106095489A (zh) * | 2016-05-31 | 2016-11-09 | 广东欧珀移动通信有限公司 | 一种应用控制方法及移动终端 |
CN105939225A (zh) * | 2016-06-23 | 2016-09-14 | 微梦创科网络科技(中国)有限公司 | 一种业务执行的方法及装置 |
CN106528216A (zh) * | 2016-10-26 | 2017-03-22 | 深圳市金立通信设备有限公司 | 一种启动应用程序的方法及终端 |
CN106658051A (zh) * | 2016-12-30 | 2017-05-10 | 中广热点云科技有限公司 | 一种缓冲播放流媒体的控制方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN109388552A (zh) | 2019-02-26 |
WO2019029245A1 (zh) | 2019-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109388552B (zh) | 启动应用程序的时长的确定方法、装置及存储介质 | |
US9928077B2 (en) | Chip starting method, multi-core processor chip and storage medium | |
CN111510323A (zh) | 一种物联网设备的固件升级方法、装置、***及存储介质 | |
CN107783829B (zh) | 任务处理方法、装置、存储介质和计算机设备 | |
CN110933178B (zh) | 调整集群***内的节点配置的方法及服务器 | |
CN110119307B (zh) | 数据处理请求的处理方法、装置、存储介质及电子装置 | |
CN108632309B (zh) | 一种升级窄带物联网终端的方法及装置 | |
CN108345462B (zh) | 组件升级的方法和装置 | |
CN107807852A (zh) | 应用程序性能控制方法及设备 | |
CN110688168A (zh) | 提高应用程序启动速度方法、装置、设备及存储介质 | |
CN109375956B (zh) | 一种重启操作***的方法、逻辑设备以及控制设备 | |
CN115033352A (zh) | 多核处理器任务调度方法、装置及设备、存储介质 | |
CN113132267B (zh) | 一种分布式***、数据聚合方法和计算机可读存储介质 | |
CN109446515A (zh) | 群组信息分析方法、电子装置及计算机可读存储介质 | |
CN112748961A (zh) | 启动任务的执行方法和装置 | |
CN113064677B (zh) | 应用运行方法及装置、存储介质及电子装置 | |
CN110806908A (zh) | 应用软件预启动方法、终端及计算机可读存储介质 | |
CN110569129A (zh) | 资源分配方法及装置、存储介质、电子装置 | |
WO2019144803A1 (zh) | 流量统计方法、装置、存储介质及电子装置 | |
CN110990381B (zh) | 服务器的处理方法及装置、存储介质和电子装置 | |
CN108616870B (zh) | 识别被优先定制的终端的方法和装置 | |
CN114281503A (zh) | 一种线程池核心参数实时动态调整方法、装置和电子设备 | |
CN112436974B (zh) | Cdn数据资源一致性检测方法、装置以及计算机设备 | |
CN113448747A (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN112953690B (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 |