CN107831887A - 一种应用启动方法及装置 - Google Patents
一种应用启动方法及装置 Download PDFInfo
- Publication number
- CN107831887A CN107831887A CN201711395515.6A CN201711395515A CN107831887A CN 107831887 A CN107831887 A CN 107831887A CN 201711395515 A CN201711395515 A CN 201711395515A CN 107831887 A CN107831887 A CN 107831887A
- Authority
- CN
- China
- Prior art keywords
- destination application
- starting duration
- application
- duration
- mark
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- 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
Abstract
本申请公开了一种应用启动的方法及装置。该方法包括:当监测到目标应用程序启动时,获取所述目标应用程序的标识;确定所述目标应用程序的标识是否存储于预设列表中,所述预设列表中存储有应用程序的标识及对应的加速启动时长;若是,则控制CPU以第一频率在所述目标应用程序对应的加速启动时长内运行;若否,则计算所述目标应用程序的启动时长用于确定所述目标应用程序对应的加速启动时长,并将所述目标应用程序的标识及对应的加速启动时长存储于所述预设列表中。采用本申请可以实现CPU加速运行时间与应用程序启动时间保持一致,一方面避免了CPU不必要的加速导致的电池耗电,另一方面保证了应用程序尽快的启动。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用启动方法及装置。
背景技术
中央处理器(CPU,Central Processing Unit)是一台计算机运算核心和控制核心,其运行频率越高数据处理速度越快,但同时也加快了电池的消耗。对于移动终端设备,如手机,为了保证其电池的续航时间,CPU处理速度一般取保证系统正常运行的较低频率,但某些应用场景对CPU处理速度要求比较高,如应用程序启动时。
为了提升用户体验,许多终端厂商在应用程序启动时采用更高的CPU处理速度以实现其快速启动。目前的方案为在应用启动时采用固定时长的CPU加速。但对于不同的应用程序其启动时间不同,采用固定时长的加速方式会造成在应用启动时长小于固定时长时的CPU加速的浪费,从而增加了不必要的电池耗电;或在应用启动时长大于固定时长时应用程序不能最佳的加速,影响用户体验。
因此,亟待一种方案能够解决该技术问题。
发明内容
本申请实施例提供一种应用启动方法及装置,用以实现在保证应用程序快速启动的前提下降低功耗。
第一方面,提供一种应用启动方法,包括:
当监测到目标应用程序启动时,获取所述目标应用程序的标识;
确定所述目标应用程序的标识是否存储于预设列表中,所述预设列表中存储有应用程序的标识及对应的加速启动时长;
若是,则控制CPU以第一频率在所述目标应用程序对应的加速启动时长内运行;
若否,则计算所述目标应用程序的启动时长用于确定所述目标应用程序对应的加速启动时长,并将所述目标应用程序的标识及对应的加速启动时长存储于所述预设列表中。
可选择的,所述计算所述目标应用程序的启动时长,包括:
记录所述目标应用程序启动的开始时间及结束时间;
根据所述目标应用程序启动的开始时间及结束时间计算所述目标应用程序的启动时长。
可选择的,所述计算所述目标应用程序的启动时长用于确定所述目标应用程序对应的加速启动时长,包括:
若计算出的所述目标应用程序的第一次启动时长不大于所述CPU以第一频率运行的预设时长时,则确定所述计算出的所述目标应用程序的第一次启动时长为所述目标应用程序对应的加速启动时长。
可选择的,所述计算所述目标应用程序的启动时长用于确定所述目标应用程序对应的加速启动时长,包括:
若计算出的所述目标应用程序的第一次启动时长大于所述CPU以第一频率运行的预设时长时,则在所述目标应用程序第二次启动时控制所述CPU以第一频率在所述目标应用程序第一次启动时长内运行;
计算所述目标应用程序的第二次启动时长,并确定所述目标应用程序的第二次启动时长为所述目标应用程序对应的加速启动时长。
可选择的,所述当监测到目标应用程序启动时,获取所述目标应用程序的标识之后,包括:
判断所述目标应用程序是否存在版本更新;
若否,则执行权1至权4中任一所述方法;
若是,则计算版本更新后的目标应用程序的启动时长用于确定所述版本更新后的目标应用程序对应的加速启动时长。
第二方面,提供一种应用启动装置,包括:
获取模块,用于当监测到目标应用程序启动时,获取所述目标应用程序的标识;
确定模块,用于确定所述目标应用程序的标识是否存储于预设列表中,所述预设列表中存储有应用程序的标识及对应的加速启动时长;
控制模块,用于若确定所述目标应用程序的标识存储于预设列表中时,控制CPU以第一频率在所述目标应用程序对应的加速启动时长内运行;
计算模块,用于若确定所述目标应用程序的标识未存储于预设列表中时,计算所述目标应用程序的启动时长用于确定所述目标应用程序对应的加速启动时长,并将所述目标应用程序的标识及对应的加速启动时长存储于所述预设列表中。
可选择的,所述计算模块具体用于:
记录所述目标应用程序启动的开始时间及结束时间;
根据所述目标应用程序启动的开始时间及结束时间计算所述目标应用程序的启动时长。
可选择的,所述计算模块具体用于,
若计算出的所述目标应用程序的第一次启动时长不大于所述CPU以第一频率运行的预设时长时,则确定所述计算出的所述目标应用程序的第一次启动时长为所述目标应用程序对应的加速启动时长。
可选择的,所述计算模块具体用于,
若计算出的所述目标应用程序的第一次启动时长大于所述CPU以第一频率运行的预设时长时,则在所述目标应用程序第二次启动时控制所述CPU以第一频率在所述目标应用程序第一次启动时长内运行;
计算所述目标应用程序的第二次启动时长,并确定所述目标应用程序的第二次启动时长为所述目标应用程序对应的加速启动时长。
第三方面,提供一种计算机设备,包括:一个或多个处理器;以及一个或多个存储器,所述存储器上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述计算机设备执行上述第一方面中任一项所述的方法。
第四方面,提供一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得计算机设备执行上述第一方面中任一项所述的方法。
第五方面,提供一种计算机程序产品,用于存储计算机程序,该计算机程序用于执行上述第一方面中任一项所述的方法。
本申请的上述实施例中,当监测到目标应用程序启动时,获取所述目标应用程序的标识;确定所述目标应用程序的标识是否存储于预设列表中,所述预设列表中存储有应用程序的标识及对应的加速启动时长;若是,则控制CPU以第一频率在所述目标应用程序对应的加速启动时长内运行;若否,则计算所述目标应用程序的启动时长用于确定所述目标应用程序对应的加速启动时长,并将所述目标应用程序的标识及对应的加速启动时长存储于所述预设列表中。通过实现CPU加速运行时间与应用程序启动时间保持一致,一方面避免了CPU不必要的加速导致的电池耗电,另一方面保证了应用程序尽快的启动。
附图说明
图1为本申请实施例提供的一种应用启动流程示意图;
图2为本申请实施例提供的确定应用程序加速启动时长的流程示意图;
图3为本申请实施例提供的另一种应用启动流程示意图;
图4为本申请实施例提供的确定版本更新后的应用程序加速启动时长的流程图;
图5为本申请实施例提供的应用启动结构框架图;
图6为本申请实施例提供的一种应用启动装置的结构示意图;
图7为本申请实施例提供的另一种应用启动装置的结构示意图;
图8为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
本申请实施例可应用于计算机设备,该计算机设备可以是任何具有数据处理能力的设备,比如可以是终端,具体可以包括:智能手机、平板电脑、笔记本电脑、个人数字助理(Personal Digital Assistant,PDA)、智能穿戴设备或车载终端、智能电视等类似设备。
下面以Android系统为例,结合附图对本申请实施例进行详细描述。
参见图1,为本申请实施例提供的一种应用启动流程示意图。该流程可由应用启动装置实现。该装置可以是计算机设备,或者是计算机设备中的装置。
如图所示,该流程可以包括:
S101:当监测到目标应用程序启动时,获取该目标应用程序的标识。
可选择的,目标应用程序的标识可以为该目标应用程序的包名。
S102:确定目标应用程序的标识是否存储于预设列表中,该预设列表中存储有应用程序的标识及对应的加速启动时长。
在该步骤中,示例性的,可以XML文件形式将应用程序的包名及对应的加速启动时长存储在data分区,存储结构为:
<item package=”com.android.weixin” startLength=2/>
<item package=”com.android.qq” startLength=3/>
……
以上存储主要是为防止重启后数据丢失,每次开机后会将以上文件按照key-value的键值方式缓存到内存中,以加快查询速度。
当监测到目标应用程序启动时,获取该目标应用程序的包名,在ActivityManagerService模块中的realStartActivityLocked函数中,识别当前要启动的应用程序,其中ActivityRecord作为realStartActivityLocked函数的一个参数,里面包含了当前要启动应用程序的包名:packageName。判断该packageName是否存在于缓存中的预设存储列表中,若是,则可按packageName为索引,查询其对应的startLength数据,并执行步骤103;否否,则执行步骤104。
S103:若是,则控制CPU以第一频率在目标应用程序对应的加速启动时长内运行。
示例性的,当查询到当前要启动应用程序的包名对应的startLength后,以startLenght作为参数来控制CPU以第一频率运行的时长。具体控制方法为:创建名为mPerfLock的BoostFramework对象,其中BoostFramework类是系统中用来控制CPU的方法集合的封装,将其实例化后,可以调用其相关的方法达到控制CPU的目的。 调用该对象的perflockAcquir()接口,传递startLength作为其timeout参数,之后BoostFramework的perflockAcquir函数会通过jni方式通知给Perfd服务程序,其中Perfd服务程序是HAL层的CPU控制服务,负责具体的CPU控制实现,最后,Perfd服务收到上面的请求后,进行实际的CPU控制。
在本步骤中,第一频率为CPU最高运行频率或较高运行频率。示例性的,假如 CPU最高运行频率为2GHz,终端CPU实际运行频率可以选择几个运行频率点如800MHz、1.2GHz、1.6GHz,则第一频率可以设定为2GHz或1.6GHz。
S104,若否,则计算目标应用程序的启动时长用于确定目标应用程序对应的加速启动时长,并将目标应用程序的标识及对应的加速启动时长存储于预设列表中。
可选的,计算目标应用程序的启动时长包括:记录所述目标应用程序启动的开始时间及结束时间;将目标应用程序启动的结束时间减去开始时间便可得到目标应用程序的启动时长。示例性的,可以利用ActivityManagerService模块中的realStartActivityLocked函数作为目标应用程序启动的起点,通过SystemClock.uptimeMillis()方法获取到当前realStartActivityLocked函数执行的时间戳,并记录在mLaunchStartTime变量中作为目标应用程序的启动开始时间;可以将目标应用程序的初始化及窗口绘制完成的时间点作为该应用程序启动完成的时间,以窗口绘制完成的时间作为应用程序启动结束时间为例,由于运行windowDrawn函数时表示当前界面的窗口绘制已完成,因此可以取windowDrawn函数执行的时间戳SystemClock.uptimeMillis()作为应用程序启动结束的时间点,记录在mLaunchEndTime变量中。最后,将mLaunchEndTime减去之前记录的mLaunchStartTime时间,便可得到目标应用程序的启动时长startLength。
为了清楚理解如何确定目标应用程序对应的加速启动时长,下面结合图2进行详细描述。参见图2,为本发明实施例提供的确定应用程序的加速启动时长的流程示意图。该流程可包括:
S201:判断目标应用程序的第一次启动时长是否大于CPU以第一频率运行的预设时长。
若否,则执行步骤S202,若是,则执行步骤S203和步骤S204。
在本步骤中,目标应用程序第一次启动时,控制CPU以第一频率在预设时长内运行,并在该情形下计算该目标应有程序的第一次启动时长。
可选择的,CPU以第一频率运行的预设时长可以为系统初始设置的应用启动加速时长。
S202:确定目标应用程序的第一次启动时长为目标应用程序对应的加速启动时长。
S203:在目标应用程序第二次启动时控制CPU以第一频率在目标应用程序第一次启动时长内运行。
S204:计算目标应用程序的第二次启动时长,并确定目标应用程序的第二次启动时长为该应用程序的加速启动时长。
示例性的,假设应用程序A的第一次启动时长为2s,应用程序B的第一次启动时长为10s,CPU以第一频率运行的预设时长为4s。对于应用程序A其第一次启动时长2s小于CPU以第一频率运行的预设时长4s,说明应用程序A在启动过程中一直以第一频率运行,从电池节省耗电的角度CPU存在2s的不必要的高频率运行,因此确定目标应用程序的第一次启动时长为目标应用程序对应的加速启动时长;对于应用程序B其第一次启动时长10s大于CPU以第一频率运行的预设时长4s,说明在应用程序B第一次启动时有4s的时间CPU采用高频率运行,而剩余的6s采用低频率运行;若应用程序B第二启动时采用10s的CPU高频率运行,则可判定应用程序B的启动时长要小于10s,因此可确定应用程序B的第二次启动时长为该应用程序的加速启动时长。
本申请实施例中,当监测到目标应用程序启动时,获取所述目标应用程序的标识;确定所述目标应用程序的标识是否存储于预设列表中,所述预设列表中存储有应用程序的标识及对应的加速启动时长;若是,则控制CPU以第一频率在所述目标应用程序 对应的加速启动时长内运行;若否,则计算所述目标应用程序的启动时长用于确定所述目标应用程序对应的加速启动时长,并将所述目标应用程序的标识及对应的加速启动时长存储于所述预设列表中。通过CPU加速运行时间与应用程序启动时间保持一致,一方面避免了CPU不必要的加速导致的电池耗电,另一方面保证了应用程序尽快的启动。
参见图3,为本申请实施例提供的另一种应用启动流程示意图。如图所示,该流程可包括:
S301:当检测到目标应用程序启动时,获取目标应用程序的包名。
S302:判断目标应用程序是否存在版本更新。
在本步骤中,在获取到目标应用程序的packageName之后,进一步获取该目标应用程序的版本信息,将该目标应用程序的版本信息与系统中记录的该应用程序的版本信息进行对比,若不一致,则判定该目标应用程序存在版本更新。
可选择的,应用程序的版本信息versionCode可以和packageName、startLength关联存储,保存形式可以是普通文件、xml文件或者数据库。
当以xlm文件形式存储时,存储结构可以为:
<item package=”com.android.weixin” startLength=2 versionCode=N/>
<item package=”com.android.qq” startLength=3 versionCode=N/>
……
当以普通文件形式存储时,存储格式可以为:
com.android.weixin:2 N
com.android.qq:3 N
……
若否,则执行步骤S303至步骤S305;若是,则执行步骤S306。
S303:确定目标应用程序的标识是否存储于预设列表中。
若是,执行步骤S304;若否,执行步骤S305。
S304:控制CPU以第一频率在目标应用程序对应的加速启动时长内运行。
S305:计算所述目标应用程序的启动时长用于确定所述目标应用程序对应的加速启动时长,并将所述目标应用程序的标识及对应的加速启动时长存储于所述预设列表中。
S306:计算版本更新后的目标应用程序的启动时长用于确定所述版本更新后的目标应用程序对应的加速启动时长。
具体的,参见图4,为确定所述版本更新后的应用程序加速启动时长的流程图,如图4所示,该流程包括:
S401:判断版本更新后的目标应用程序的第一次启动时长与所述目标应用程序在预设列表中对应的加速启动时长是否一致。
若不一致,则执行步骤S402至S406。
S402:判断版本更新后的目标应用程序的第一次启动时长是否大于更新前的目标应用程序在预设列表中对应的加速启动时长。
若否,则执行步骤S403,若是,则执行步骤S404和步骤S405。
S403:确定版本更新后的目标应用程序的第一次启动时长为该目标应用程序对应的加速启动时长。
S404:在版本更新后的目标应用程序第二次启动时控制CPU以第一频率在版本更新后的目标应用程序第一次启动时长内运行。
S405:计算版本更新后的目标应用程序的第二次启动时长,并确定版本更新后的目标应用程序的第二次启动时长为该应用程序的加速启动时长。
S406:将版本更新后的目标应用程序的第二次启动时长更新为预设列表中该应用程序的加速启动时长。
本申请实施例中,当监测到目标应用程序启动时,获取所述目标应用程序的标识;并判断目标应用程序是否存在版本更新。若不存在版本更新,则确定所述目标应用程序的标识是否存储于预设列表中,所述预设列表中存储有应用程序的标识及对应的加速启动时长;若是,则控制CPU以第一频率在所述目标应用程序对应的加速启动时长内运行;若否,则计算所述目标应用程序的启动时长用于确定所述目标应用程序对应的加速启动时长,并将所述目标应用程序的标识及对应的加速启动时长存储于所述预设列表中。若存在版本更新,则计算版本更新后的目标应用程序的启动时长用于确定所述版本更新后的目标应用程序对应的加速启动时长。实现了应用程序版本更新时对启动加速时长的及时更新,从而保证了CPU加速运行时间与应用程序启动时间保持一致,一方面避免了CPU不必要的加速导致的电池耗电,另一方面保证了应用程序尽快的启动。
可以理解的是,本申请实施例为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本申请中所公开的实施例描述的各示例的单元(器、器件)及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的技术方案的范围。
本申请实施例可以根据上述方法示例对执行上述方法的装置进行功能单元(器、器件)的划分,例如,可以对应各个功能划分各个功能单元(器、器件),也可以将两个或两个以上的功能集成在一个处理单元(器、器件)中。上述集成的单元(器、器件)既可以采用硬件的形式实现,也可以采用软件功能单元(器、器件)的形式实现。需要说明的是,本申请实施例中对单元(器、器件)的划分是示意性的,仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
参见图5为本申请实施例提供的一种应用启动结构框架图。如图5所示,涉及应用APP层、架构framework层和硬件抽象HAL层,其中应用启动装置位于framework层。
在采用集成的单元(器、器件)的情况下,图6示出了本申请实施例提供的一种应用启动装置的结构示意图。参阅图6所示,应该启动装置600包括:获取模块601、确定模块602、控制模块603和计算模块604。
获取模块601,用于当监测到目标应用程序启动时,获取该目标应用程序的标识。
确定模块602,用于确定目标应用程序的标识是否存储于预设列表中,其中预设列表中存储有应用程序的标识及对应的加速启动时长。
控制模块603,用于若确定目标应用程序的标识存储于预设列表中时,控制CPU以第一频率在目标应用程序对应的加速启动时长内运行。
计算模块604,用于若确定目标应用程序的标识未存储于预设列表中时,计算目标应用程序的启动时长用于确定该目标应用程序对应的加速启动时长,并将目标应用程序的标识及对应的加速启动时长存储于预设列表中。
可选的,计算模块604具体用于:记录目标应用程序启动的开始时间及结束时间;根据目标应用程序启动的开始时间及结束时间计算目标应用程序的启动时长。
可选的,计算模块604具体用于,若计算出的目标应用程序的第一次启动时长不大于CPU以第一频率运行的预设时长时,则确定计算出的目标应用程序的第一次启动时长为目标应用程序对应的加速启动时长。
可选的,计算模块604具体用于,若计算出的目标应用程序的第一次启动时长大于CPU以第一频率运行的预设时长时,则在目标应用程序第二次启动时控制CPU以第一频率在目标应用程序第一次启动时长内运行;计算目标应用程序的第二次启动时长,并确定目标应用程序的第二次启动时长为目标应用程序对应的加速启动时长。
图7示出了本申请实施例提供的另一种应用启动装置的结构示意图。参阅图7所示,应该启动装置700包括:获取模块701、判断模块702、确定模块703、控制模块704和计算模块705。
获取模块701,用于当监测到目标应用程序启动时,获取该目标应用程序的标识。
判断模块702,用于判断目标应用程序是否存在版本更新。
确定模块703,用于在判断模块702判定目标应用程序不存在版本更新的情况下,确定目标应用程序的标识是否存储于预设列表中,其中预设列表中存储有应用程序的标识及对应的加速启动时长。
控制模块704,用于在确定模块703确定目标应用程序的标识存储于预设列表中时,控制CPU以第一频率在目标应用程序对应的加速启动时长内运行。
计算模块705,用于在确定模块703确定目标应用程序的标识未存储于预设列表中时,计算目标应用程序的启动时长用于确定该目标应用程序对应的加速启动时长,并将目标应用程序的标识及对应的加速启动时长存储于预设列表中;
以及,用于在判断模块702判定目标应用程序存在版本更新的情况下,计算版本更新后的目标应用程序的启动时长用于确定所述版本更新后的目标应用程序对应的加速启动时长。
图8示出了本申请实施例提供的计算机设备800的结构示意图,即示出了应用启动装置600或700的另一结构示意图。参阅图8所示,计算机设备800包括处理器801、网络接口802。其中,处理器801也可以为控制器。所述处理器801被配置为支持应用启动装置600或700执行图1至图4中涉及的功能。网络接口802被配置为为应用启动装置600或700收发消息的功能。计算机设备800还可以包括存储器803,存储器803用于与处理器801耦合,其保存该设备必要的程序指令和数据。其中,处理器801、网络接口802和存储器803相连,该存储器803用于存储指令,该处理器801用于执行该存储器803存储的指令,以控制网络接口802收发消息,完成上述方法中应用启动装置600或700执行相应功能的步骤。
本申请实施例中,应用启动装置600或700以及计算机设备800所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
需要说明的是,本申请实施例上述涉及的处理器可以是中央处理器(centralprocessing unit,CPU),通用处理器,数字信号处理器(digital signal processor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。其中,所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
本申请实施例还提供一种计算机存储介质,用于存储一些指令,这些指令被执行时,可以完成前述应用管理装置所涉及的任意一种方法。
本申请实施例还提供一种计算机程序产品,用于存储计算机程序,该计算机程序用于执行上述方法实施例中涉及的应用管理方法。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (10)
1.一种应用启动方法,其特征在于,包括:
当监测到目标应用程序启动时,获取所述目标应用程序的标识;
确定所述目标应用程序的标识是否存储于预设列表中,所述预设列表中存储有应用程序的标识及对应的加速启动时长;
若是,则控制CPU以第一频率在所述目标应用程序对应的加速启动时长内运行;
若否,则计算所述目标应用程序的启动时长用于确定所述目标应用程序对应的加速启动时长,并将所述目标应用程序的标识及对应的加速启动时长存储于所述预设列表中。
2.如权利要求1所述的方法,其特征在于,所述计算所述目标应用程序的启动时长,包括:
记录所述目标应用程序启动的开始时间及结束时间;
根据所述目标应用程序启动的开始时间及结束时间计算所述目标应用程序的启动时长。
3.如权利要求1或2所述的方法,其特征在于,所述计算所述目标应用程序的启动时长用于确定所述目标应用程序对应的加速启动时长,包括:
若计算出的所述目标应用程序的第一次启动时长不大于所述CPU以第一频率运行的预设时长时,确定所述计算出的所述目标应用程序的第一次启动时长为所述目标应用程序对应的加速启动时长。
4.如权利要求1或2所述的方法,其特征在于,所述计算所述目标应用程序的启动时长用于确定所述目标应用程序对应的加速启动时长,包括:
若计算出的所述目标应用程序的第一次启动时长大于所述CPU以第一频率运行的预设时长时,则在所述目标应用程序第二次启动时控制所述CPU以第一频率在所述目标应用程序第一次启动时长内运行;
计算所述目标应用程序的第二次启动时长,并确定所述目标应用程序的第二次启动时长为所述目标应用程序对应的加速启动时长。
5.如权利要求1至4中任一所述的方法,其特征在于,所述当监测到目标应用程序启动时,获取所述目标应用程序的标识后,包括:
判断所述目标应用程序是否存在版本更新;
若否,则执行权1至权4中任一所述方法;
若是,则计算版本更新后的目标应用程序的启动时长用于确定所述版本更新后的目标应用程序对应的加速启动时长。
6.一种应用启动装置,其特征在于,包括:
获取模块,用于当监测到目标应用程序启动时,获取所述目标应用程序的标识;
确定模块,用于确定所述目标应用程序的标识是否存储于预设列表中,所述预设列表中存储有应用程序的标识及对应的加速启动时长;
控制模块,用于若确定所述目标应用程序的标识存储于预设列表中时,控制CPU以第一频率在所述目标应用程序对应的加速启动时长内运行;
计算模块,用于若确定所述目标应用程序的标识未存储于预设列表中时,计算所述目标应用程序的启动时长用于确定所述目标应用程序对应的加速启动时长,并将所述目标应用程序的标识及对应的加速启动时长存储于所述预设列表中。
7.如权利要求6所述的装置,其特征在于,所述计算模块具体用于:
记录所述目标应用程序启动的开始时间及结束时间;
根据所述目标应用程序启动的开始时间及结束时间计算所述目标应用程序的启动时长。
8.如权利要求6或7所述的装置,其特征在于,所述计算模块具体用于,
若计算出的所述目标应用程序的第一次启动时长不大于所述CPU以第一频率运行的预设时长时,则确定所述计算出的所述目标应用程序的第一次启动时长为所述目标应用程序对应的加速启动时长。
9.如权利要求6或7所述的装置,其特征在于,所述计算模块具体用于,
若计算出的所述目标应用程序的第一次启动时长大于所述CPU以第一频率运行的预设时长时,则在所述目标应用程序第二次启动时控制所述CPU以第一频率在所述目标应用程序第一次启动时长内运行;
计算所述目标应用程序的第二次启动时长,并确定所述目标应用程序的第二次启动时长为所述目标应用程序对应的加速启动时长。
10.一种计算机设备,其特征在于,包括:处理器以及存储器,所述存储器上存储有指令,所述指令被所述处理器执行时,使得所述计算机设备执行如权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711395515.6A CN107831887B (zh) | 2017-12-21 | 2017-12-21 | 一种应用启动方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711395515.6A CN107831887B (zh) | 2017-12-21 | 2017-12-21 | 一种应用启动方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107831887A true CN107831887A (zh) | 2018-03-23 |
CN107831887B CN107831887B (zh) | 2021-03-23 |
Family
ID=61645185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711395515.6A Active CN107831887B (zh) | 2017-12-21 | 2017-12-21 | 一种应用启动方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107831887B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083402A (zh) * | 2019-03-28 | 2019-08-02 | 努比亚技术有限公司 | 应用启动方法、终端及计算机可读存储介质 |
CN111427647A (zh) * | 2020-03-20 | 2020-07-17 | 北京字节跳动网络技术有限公司 | 应用程序的页面展示方法、装置、存储介质和电子设备 |
CN111538636A (zh) * | 2020-04-24 | 2020-08-14 | 深圳华锐金融技术股份有限公司 | 计算机设备确定方法、装置和存储介质 |
CN112068887A (zh) * | 2019-06-11 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 对应用进行加速处理的方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105700667A (zh) * | 2012-01-31 | 2016-06-22 | 联想(北京)有限公司 | 应用运行方法和电子设备 |
CN105740020A (zh) * | 2016-01-29 | 2016-07-06 | 宇龙计算机通信科技(深圳)有限公司 | 应用程序的启动方法、启动装置和终端 |
CN106055070A (zh) * | 2016-05-24 | 2016-10-26 | 青岛海信移动通信技术股份有限公司 | 终端功耗控制方法及装置 |
CN106095489A (zh) * | 2016-05-31 | 2016-11-09 | 广东欧珀移动通信有限公司 | 一种应用控制方法及移动终端 |
CN106951291A (zh) * | 2017-03-28 | 2017-07-14 | 努比亚技术有限公司 | 应用程序加速启动方法及装置 |
US20170206101A1 (en) * | 2014-07-10 | 2017-07-20 | Harman International Industries, Incorporated | Operating system startup acceleration |
-
2017
- 2017-12-21 CN CN201711395515.6A patent/CN107831887B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105700667A (zh) * | 2012-01-31 | 2016-06-22 | 联想(北京)有限公司 | 应用运行方法和电子设备 |
US20170206101A1 (en) * | 2014-07-10 | 2017-07-20 | Harman International Industries, Incorporated | Operating system startup acceleration |
CN105740020A (zh) * | 2016-01-29 | 2016-07-06 | 宇龙计算机通信科技(深圳)有限公司 | 应用程序的启动方法、启动装置和终端 |
CN106055070A (zh) * | 2016-05-24 | 2016-10-26 | 青岛海信移动通信技术股份有限公司 | 终端功耗控制方法及装置 |
CN106095489A (zh) * | 2016-05-31 | 2016-11-09 | 广东欧珀移动通信有限公司 | 一种应用控制方法及移动终端 |
CN106951291A (zh) * | 2017-03-28 | 2017-07-14 | 努比亚技术有限公司 | 应用程序加速启动方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083402A (zh) * | 2019-03-28 | 2019-08-02 | 努比亚技术有限公司 | 应用启动方法、终端及计算机可读存储介质 |
CN112068887A (zh) * | 2019-06-11 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 对应用进行加速处理的方法和装置 |
CN112068887B (zh) * | 2019-06-11 | 2023-05-30 | 腾讯科技(深圳)有限公司 | 对应用进行加速处理的方法和装置 |
CN111427647A (zh) * | 2020-03-20 | 2020-07-17 | 北京字节跳动网络技术有限公司 | 应用程序的页面展示方法、装置、存储介质和电子设备 |
CN111538636A (zh) * | 2020-04-24 | 2020-08-14 | 深圳华锐金融技术股份有限公司 | 计算机设备确定方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107831887B (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107831887A (zh) | 一种应用启动方法及装置 | |
EP3160150A1 (en) | Electronic device and method for executing function using speech recognition thereof | |
EP3179693B1 (en) | Method, apparatus, storage medium and computer program product for establishing a data connection | |
WO2019137252A1 (zh) | 内存处理方法、电子设备、计算机可读存储介质 | |
US9588757B2 (en) | Data update method, user terminal, and data update system | |
CN113535207B (zh) | 车辆及其车载软件的更新方法、移动终端 | |
CN109992364B (zh) | 应用冻结方法、装置、计算机设备和计算机可读存储介质 | |
KR20150055600A (ko) | 전자책 문서 처리방법, 단말기, 전자기기, 프로그램 및 기록매체 | |
CN109634599A (zh) | 页面视图的显示方法、装置、设备及存储介质 | |
EP3699760A1 (en) | Information processing method and device, computer device and computer readable storage medium | |
CN112732434A (zh) | 一种应用管理方法及装置 | |
CN107015866B (zh) | 一种数据处理方法及装置 | |
CN113709026B (zh) | 即时通信消息的处理方法、设备、存储介质和程序产品 | |
EP3129883B1 (en) | Method and apparatus for repairing dynamic link library file | |
CN106708501B (zh) | 活动监控方法及装置 | |
US10292057B2 (en) | Network identification and display based on local information | |
US20160307216A1 (en) | Electronic information collection method and apparatus | |
US10798777B2 (en) | Multi-dimensional segmentation method and apparatus for 5G-oriented protocol stack, and terminal | |
WO2022247446A1 (zh) | 一种性能优化方法以及相关设备 | |
WO2015139595A1 (en) | Method and apparatus for controlling presentation of multimedia data | |
WO2015124060A1 (en) | Login interface displaying method and apparatus | |
CN114828098B (zh) | 数据传输方法和电子设备 | |
CN105229607A (zh) | 显示控制装置、以及显示控制方法、以及程序 | |
CN104346176A (zh) | 一种浏览器启动的方法及装置 | |
CN113885969A (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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 266100 No. 151, Zhuzhou Road, Laoshan District, Shandong, Qingdao Patentee after: Qingdao Hisense Mobile Communication Technology Co.,Ltd. Address before: 266100 No. 151, Zhuzhou Road, Laoshan District, Shandong, Qingdao Patentee before: HISENSE MOBILE COMMUNICATIONS TECHNOLOGY Co.,Ltd. |