应用安装的方法及装置的制造方法

文档序号:10654255阅读:420来源:国知局
应用安装的方法及装置的制造方法
【专利摘要】本公开是关于应用安装的方法及装置。该方法包括:接收安装当前应用的安装包的安装请求;启动至少一个编译线程对所述安装包进行编译;确定发起所述安装请求的进程的当前运行状态;若所述当前运行状态为后台运行状态时,将所述编译线程运行在中央处理器中预设的数据处理核心上,进行所述当前应用的安装包的安装。该技术方案中,当发起安装请求的进程处于后台运行状态时,可只在中央处理器中预设的数据处理核心上,运行对应用的安装包进行编译的编译线程,这样,合理地分配了中央处理器的资源,减少了将编译线程运行在高功耗易发热的数据处理核心上的几率,从而也减少因发热导致中央处理降频的几率,进一步降低了功耗。
【专利说明】
应用安装的方法及装置
技术领域
[0001]本公开涉及智能终端技术领域,尤其涉及应用安装的方法及装置。
【背景技术】
[0002]随着智能终端技术的发展,终端不仅仅是一个通讯工具,还可以进行其他的应用,例如:进行网页浏览,多媒体播放,即时通讯等等。这样,终端上需安装多个应用。
[0003]每个应用在进行安装时,需将对应的安装包编译成适合在当前硬件上运行的代码,编译完成后该应用才能在终端上正常运行。因此,应用的安装包括了多个编译线程对应用的安装包进行编译的过程。

【发明内容】

[0004]本公开实施例提供了应用安装的方法及装置。所述技术方案如下:
[0005]根据本公开实施例的第一方面,提供一种应用安装的方法,可包括:
[0006]接收安装当前应用的安装包的安装请求;
[0007]启动至少一个编译线程对所述安装包进行编译;
[0008]确定发起所述安装请求的进程的当前运行状态;
[0009]若所述当前运行状态为后台运行状态时,将所述编译线程运行在中央处理器中预设的数据处理核心上,进行所述当前应用的安装包的安装。
[0010]可见,当发起安装请求的进程处于后台运行状态时,可只在中央处理器中预设的数据处理核心上,运行对应用的安装包进行编译的编译线程,这样,合理地分配了中央处理器的资源,减少了将编译线程运行在高功耗易发热的数据处理核心上的几率,从而也减少因发热导致中央处理降频的几率,进一步降低了功耗。
[0011]在一个实施例中,所述接收安装当前应用的安装包的安装请求之后,还可包括:
[0012]确定发起所述安装请求的进程的初始运行状态,并进行记录。
[0013]可见,接收到安装请求后,可记录发起装请求的进程的初始运行状态,从而可便于确定发起安装请求的进程的当前运行状态,节省安装流程。
[0014]在一个实施例中,所述确定发起所述安装请求的进程的当前运行状态可包括:
[0015]将记录的初始运行状态确定为发起所述安装请求的进程的当前运行状态。
[0016]这样,直接将记录的初始运行状态确定为发起装请求的进程的当前运行状态,提高了安装应用的效率。
[0017]在一个实施例中,所述确定发起所述安装请求的进程的当前运行状态可包括:
[0018]当接收到包括发起所述安装请求的进程的运行状态的通知消息时,根据接收所述通知消息,确定发起所述安装请求的进程的当前运行状态。
[0019]可见,可根据接收到的通知消息来确定发起安装请求的进程的当前运行状态,从而,使得确定当前状态的过程灵活,可适用多种应用场景。
[0020]在一个实施例中,所述方法还可包括:
[0021]若所述当前运行状态为前台运行状态时,将所述编译线程运行在中央处理器中任意的数据处理核心上,进行所述当前应用的安装包的安装。
[0022]当然,若当前运行状态为前台运行状态,可在央处理器中任意的数据处理核心上运行编译线程,可不限定在预设的数据处理核心上,这样,可提高编译的速度,提高应用安装包的安装速度。
[0023]在一个实施例中,所述进行所述当前应用的安装包的安装还可包括:
[0024]当接收到发起所述安装请求的进程的运行状态更换的切换通知消息时,根据所述切换通知消息,确定发起所述安装请求的进程的当前运行状态,并根据所述当前运行状态,采用中央处理器中对应的数据处理核心运行所述述编译线程,进行所述当前应用的安装包的安装。
[0025]可见,若发起安装请求的进程的运行状态发生了改变,运行编译进程的中央处理器中的数据处理核心也会发生改变,从而,使得应用安装过程更加灵活,更加能满足用户的需求,提高用户的体验。
[0026]在一个实施例中,所述预设的数据处理核心可包括:一个、两个或多个第一数据处理芯片,其中,所述第一数据处理芯片的功耗小于所述中央处理器中其他的至少一个数据处理芯片的功耗。
[0027]可见,当发起安装请求的进程处于后台运行状态时,可只在中央处理器中低功耗的数据处理核心上,运行对应用的安装包进行编译的编译线程,进一步减少功耗,合理分配中央处理器的资源。
[0028]根据本公开实施例的第二方面,提供一种应用安装的装置,可包括:
[0029]接收模块,用于接收安装当前应用的安装包的安装请求;
[0030]启动模块,与所述接收模块连接,用于启动至少一个编译线程对所述安装包进行编译;
[0031]确定模块,与所述启动模块连接,用于确定发起所述安装请求的进程的当前运行状态;
[0032]第一运行模块,与所述确定模块连接,用于若所述当前运行状态为后台运行状态时,将所述编译线程运行在中央处理器中预设的数据处理核心上,进行所述当前应用的安装包的安装。
[0033]可见,当发起安装请求的进程处于后台运行状态时,可只在中央处理器中预设的数据处理核心上,运行对应用的安装包进行编译的编译线程,这样,合理地分配了中央处理器的资源,减少了将编译线程运行在高功耗易发热的数据处理核心上的几率,从而也减少因发热导致中央处理降频的几率,进一步降低了功耗。
[0034]在一个实施例中,所述装置还可包括:
[0035]记录模块,用于确定发起所述安装请求的进程的初始运行状态,并进行记录。
[0036]可见,接收到安装请求后,可记录发起装请求的进程的初始运行状态,从而可便于确定发起安装请求的进程的当前运行状态,节省安装流程。
[0037]在一个实施例中,所述确定模块可包括:
[0038]第一确定子模块,用于将记录的初始运行状态确定为发起所述安装请求的进程的当前运行状态。
[0039]这样,直接将记录的初始运行状态确定为发起装请求的进程的当前运行状态,提高了安装应用的效率。
[0040]在一个实施例中,所述确定模块可包括:
[0041]第二确定子模块,用于当接收到包括发起所述安装请求的进程的运行状态的通知消息时,根据接收所述通知消息,确定发起所述安装请求的进程的当前运行状态。
[0042]可见,可根据接收到的通知消息来确定发起安装请求的进程的当前运行状态,从而,使得确定当前状态的过程灵活,可适用多种应用场景。
[0043]在一个实施例中,所述装置还可包括:
[0044]第二运行模块,用于若所述当前运行状态为前台运行状态时,将所述编译线程运行在中央处理器中任意的数据处理核心上,进行所述当前应用的安装包的安装。
[0045]当然,若当前运行状态为前台运行状态,可在中央处理器中任意的数据处理核心上运行编译线程,可不限定在预设的数据处理核心上,这样,可提高编译的速度,提高应用安装包的安装速度。
[0046]在一个实施例中,所述装置还可包括:
[0047]调用模块,用于当接收到发起所述安装请求的进程的运行状态更换的切换通知消息时,调用所述确定模块。
[0048]可见,若发起安装请求的进程的运行状态发生了改变,运行编译进程的中央处理器中的数据处理核心也会发生改变,从而,使得应用安装过程更加灵活,更加能满足用户的需求,提高用户的体验。
[0049]根据本公开实施例的三方面,提供一种应用安装的装置,用于终端,可包括:
[0050]处理器;
[0051]用于存储处理器可执行指令的存储器;
[0052]其中,所述处理器被配置为:
[0053]接收安装当前应用的安装包的安装请求;
[0054]启动至少一个编译线程对所述安装包进行编译;
[0055]确定发起所述安装请求的进程的当前运行状态;
[0056]若所述当前运行状态为后台运行状态时,将所述编译线程运行在中央处理器中预设的数据处理核心上,进行所述当前应用的安装包的安装。
[0057]本公开的实施例提供的技术方案可以包括以下有益效果:
[0058]上述技术方案中,当发起安装请求的进程处于后台运行状态时,可只在中央处理器中预设的数据处理核心上,运行对应用的安装包进行编译的编译线程,这样,合理地分配了中央处理器的资源,减少了将编译线程运行在高功耗易发热的数据处理核心上的几率,从而也减少因发热导致中央处理降频的几率,进一步降低了功耗。
[0059]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
【附图说明】
[0060]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0061]图1是根据一示例性实施例示出的应用安装方法的流程图。
[0062]图2是根据一示例性实施例一示出的应用安装方法的流程图。
[0063]图3是根据一示例性实施例二示出的应用安装方法的流程图。
[0064]图4是根据一示例性实施例示出的应用安装装置的框图。
[0065]图5是根据一示例性实施例三示出的应用安装装置的框图。
[0066]图6是根据一示例性实施例四示出的应用安装装置的框图。
[0067]图7是根据一示例性实施例示出的一种用于应用安装的装置1200的框图。
【具体实施方式】
[0068]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0069]本公开实施例中,在对应用进行安装时,需将对应的安装包编译成适合在当前硬件上运行的代码,因此,终端上可能启动了一个或多个编译线程对应用的安装包进行编译,而一个编译线程可能会占用终端的中央处理器(CPU,Central Processing Unit)的一个核,从而可能需要终端的CPU中的多个数据处理核心。其中,CPU包括多个核,即包括多个数据处理核心,具体可由多个数据处理芯片封装组成,并且,每个核的性能不一定相同,有的核性能比较强,主频高,这样的核可以称为大核,而有的核性能较弱,主频低,但功耗低,这样的核可以称为小核。
[0070]本公开实施例提供的技术方案,当发起安装请求的进程处于后台运行状态时,可只在中央处理器中预设的数据处理核心上,运行对应用的安装包进行编译的编译线程,这样,合理地分配了中央处理器的资源,减少了将编译线程运行在高功耗易发热的数据处理核心上的几率,从而也减少因发热导致中央处理降频的几率,进一步降低了功耗。
[0071]图1是根据一示例性实施例示出的应用安装方法的流程图,如图1所示,包括以下步骤 S101-S104:
[0072]在步骤SlOl中,接收安装当前应用的安装包的安装请求。
[0073]在终端上安装新的应用时,可通过前台用户手动操作完成应用安装,例如:用户在本地或者对应的互联网应用商店中点击当前应用对应的安装选项,从而向终端发起了安装当前应用的安装包的安装请求。
[0074]或者,后台进行应用的安装,例如:应用有新的版本时,通常在有无线网络连接时,会自动将应用更新成新的版本,此时,也会向终端发起了安装当前应用的安装包的安装请求。
[0075]可见,终端会接收安装当前应用的安装包的安装请求,而安装请求可能由前台发起的,例如:用户;也可能是后台发起的,例如:应用商店。因此,发起安装请求的进程的运行状态包括:前台运行状态或者后台运行状态。
[0076]在步骤S102中,启动至少一个编译线程对安装包进行编译。
[0077]在对应用进行安装时,需将对应的安装包编译成适合在当前硬件上运行的代码,因此,终端需启动一个,两个或多个线程对安装包进行编译,这里,进行编译的线程为编译线程。
[0078]在步骤S103中,确定发起安装请求的进程的当前运行状态。
[0079]最初发起安装请求的进程的初始状态可能是前台运行状态或者后台运行状态,而在安装的过程中也可能会发生变化,因此,需确定发起安装请求的进程的当前运行状态。
[0080]本公开实施例中,可在接收安装当前应用的安装包的安装请求之后,确定发起安装请求的进程的初始运行状态,并进行记录。然后,将记录的初始运行状态确定为发起安装请求的进程的当前运行状态。例如:用户在前台点击当前应用的安装包,来发起安装请求,此时,由前台发起的安装请求,即可确定发起安装请求的进程的初始运行状态为前台运行状态并记录,然后,将前台运行状态定为发起安装请求的进程的当前运行状态。而应用商店在有数据连接的时候,主动推送当前应用的安装包进行安装时,由后台发起的安装请求,即可确定发起安装请求的进程的初始运行状态为后台运行状态并记录,然后,将后台运行状态定为发起安装请求的进程的当前运行状态。
[0081]当然,发起安装请求的进程的运行状态可能会发生变化,例如:初始状态是后台运行状态,但是随即变成了用户操作的前台运行状态,此时,可能会接收到包括发起安装请求的进程的运行状态的通知消息,从而,可根据接收通知消息,确定发起安装请求的进程的当前运行状态。因此,确定发起安装请求的进程的当前运行状态包括:当接收到包括发起安装请求的进程的运行状态的通知消息时,根据接收通知消息,确定发起安装请求的进程的当前运行状态。
[0082]本公开实施例中,包括发起安装请求的进程的运行状态的通知消息包括:发起安装请求的进程的运行状态更换的切换通知消息。
[0083]可见,可根据发起所述安装请求的进程的初始运行状态,确定发起所述安装请求的进程的当前运行状态。或者,根据包括发起所述安装请求的进程的运行状态的通知消息,确定发起所述安装请求的进程的当前运行状态。
[0084]当然,由于CPU运行着每个进程,从而,每个进程的当前运行状态都会有记录,即进程运行记录中可查询每个进程的当前运行状态。例如:前台运行第一应用时,进程运行记录中第一应用的当前运行状态为前台运行状态,若用户操作了返回功能键或者操作了其他的应用,则进程运行记录中第一应用的当前运行状态为后台运行状态。
[0085]从而,也可在进程运行记录进行查询,获取发起所述安装请求的进程的当前运行状态。
[0086]在步骤S104中,若当前运行状态为后台运行状态时,将编译线程运行在中央处理器中预设的数据处理核心上,进行当前应用的安装包的安装。
[0087]终端的CPU中包括了多个数据处理核心,即多个核,有性能比较强,主频高的大核,也有性能较弱,主频低但是功耗低的小核。由于很多应用在安装时编译的过程很长,很耗费CPU资源,每个编译线程往往占满CPU的一个核,并且会使得这个核始终以最高频运行。当CPU的多个核长时间以最高频运行时,产生的热量无法及时散出,CPU会自动降频保护,防止温度继续升高导致电路损坏。而CHJ降频后所有的程序都随之变慢,而若发起安装请求的进程的当前运行状态是后台运行状态时,前台正运行着其他的应用,正在运行的应用可能由于CPU降频无法进行对应的功能,使得终端出现卡顿或者死机的现象,极大地影响了用户的体验。
[0088]本公开实施例中,可当确定当前运行状态为后台运行状态时,将编译线程运行在中央处理器中预设的数据处理核心上,即若当前运行状态为后台运行状态时,将编译线程运行在中央处理器中预设的数据处理核心上,进行当前应用的安装包的安装。这里,预设的数据处理核心包括:一个、两个或多个第一数据处理芯片,其中,第一数据处理芯片的功耗小于CPU中其他的至少一个数据处理芯片的功耗。
[0089]例如:CPU为八核处理器,具体包括四个大核,四个小核,其中,小核的功耗小于大核的功耗。那么可将四个小核或者三个小核确定为预设的数据处理核心,当发起安装请求的进程的当前运行状态为后台运行状态时,可在预设的四个或三个小核上运行编译线程。由于小核的功耗低,不易发热,可避免编译线程运行在容易发热的大核上,避免发热降频。同时,将性能较好的大核资源留给前台正在运行的应用,保证前台应用能及时完成对应功能,减少终端卡顿或死机的几率。
[0090]当然,预设的数据处理核心也不仅仅限定是低功耗的数据处理芯片,还可以兼顾速度与功耗,例如:CPU为八核处理器,具体包括四个大核,四个小核,那么可将一个大核与两个小核确定为预设的数据处理核心,或者,将四个小核确定为预设的数据处理核心。具体可根据终端性能以及应用场景进行预设。
[0091]可见,当发起安装请求的进程处于后台运行状态时,可只在中央处理器中预设的数据处理核心上,运行对应用的安装包进行编译的编译线程,这样,合理地分配了中央处理器的资源,减少了将编译线程运行在高功耗易发热的数据处理核心上的几率,从而也减少因发热导致中央处理降频的几率,进一步降低了功耗。
[0092]当然,若当前运行状态为前台运行状态时,将编译线程运行在中央处理器中任意的数据处理核心上,进行当前应用的安装包的安装。发起安装请求的进程的当前运行状态为前台运行状态时,则可不做处理,编译线程可运行在CPU的任意核心上。这样,由于是前台运行状态,可以占用性能高的大核资源,从而,提高了编译安装的速度。
[0093]由于在进行当前应用的安装包的安装过程中,发起安装请求的进程的当前运行状态可能会发生变化,因此,进行当前应用的安装包的安装还包括:当接收到发起安装请求的进程的运行状态更换的切换通知消息时,根据切换通知消息,确定发起安装请求的进程的当前运行状态,并根据当前运行状态,采用中央处理器中对应的数据处理核心运行编译线程,进行当前应用的安装包的安装。
[0094]例如:在CPU中的两个小核上运行编译线程,进行当前应用的安装包的安装的过程中,发起安装请求的进程的当前运行状态发生了变化,从后台运行状态更换为前台运行状态,这样,终端会接收到发起安装请求的进程的运行状态更换的切换通知消息,此时,可根据切换通知消息,确定发起安装请求的进程的当前运行状态为前台运行状态,从而,编译线程不再限制在小核上了,而将编译线程运行在中央处理器中任意的数据处理核心上。当然,发起安装请求的进程的当前运行状态从前台运行状态又变更为后台运行状态时,需重新将编译线程限制在预设的数据处理核心上运行,这里,对应在小核上运行编译线程。可见,可更加合理地分配了 CPU的资源。
[0095]下面将操作流程集合到具体实施例中,举例说明本公开实施例提供的方法。
[0096]实施例一,本实施例中,预设的数据处理核心包括:一个、两个或多个第一数据处理芯片,而第一数据处理芯片是CPU中功耗相对低的芯片,即第一数据处理芯片的功耗小于CPU中其他的至少一个数据处理芯片的功耗。这里,预设的数据处理核心为一个、两个或多个小核。
[0097]图2是根据一示例性实施例一示出的应用安装方法的流程图,如图2所示,包括以下步骤 S201-S206:
[0098]在步骤S201中,接收安装当前应用的安装包的安装请求,并记录发起安装请求的进程的初始运行状态。
[0099]这里,若是用户手动操作安装按钮,则可根据指令,接收到安装当前应用的安装包的安装请求,并且,可确定发起安装请求的进程的初始运行状态为前台运行状态,并进行记录。
[0100]若是应用商店对应用的自动升级,则接收到应用商店发起的安装当前应用的安装包的安装请求,并且,可确定发起安装请求的进程的初始运行状态为后台运行状态,并进行记录。
[0101]在步骤S202中,启动至少一个编译线程对安装包进行编译。
[0102]在步骤S203中,将记录的初始运行状态确定为发起安装请求的进程的当前运行状
??τ O
[0103]在步骤S204中,判断发起安装请求的进程的当前运行状态是否为后台运行状态?若是,执行步骤S205,否则,执行步骤S206。
[0104]这里,若当前运行状态为后台运行状态时,执行步骤S205;若当前运行状态为前台运行状态时,执行步骤S206。
[0105]在步骤S205中,将编译线程运行在中央处理器中预设的数据处理核心上,进行当前应用的安装包的安装。
[0106]这里,预设的数据处理核心为一个、两个或多个小核,因此,将编译线程运行在CPU设定的小核上,由于小核功耗低,不易发热,可避免编译线程运行在容易发热的大核上,避免发热降频。
[0107]在步骤S206中,将编译线程运行在中央处理器中任意的数据处理核心上,进行当前应用的安装包的安装。
[0108]由于发起安装请求的进程的当前运行状态是前台,因此,不再限制,编译线程可运行在CPU的任意核心上。这样,由于是前台运行状态,可以占用性能高的大核资源,从而,提高了编译安装的速度。
[0109]可见,本实施例中,当发起安装请求的进程处于后台运行状态时,可只在中央处理器中预设的数据处理核心上,运行对应用的安装包进行编译的编译线程,这样,合理地分配了中央处理器的资源,减少了将编译线程运行在高功耗易发热的数据处理核心上的几率,从而也减少因发热导致中央处理降频的几率,进一步降低了功耗。
[0110]实施例二、本实施例中,预设的数据处理核心包括:一个、两个或多个第一数据处理芯片,而第一数据处理芯片是CPU中功耗相对低的芯片,即第一数据处理芯片的功耗小于CPU中其他的至少一个数据处理芯片的功耗。这里,预设的数据处理核心为一个、两个或多个小核。
[0111]图3是根据一示例性实施例二示出的应用安装方法的流程图,如图3所示,包括以下步骤 S301-S308:
[0112]在步骤S301中,接收安装当前应用的安装包的安装请求。
[0113]在步骤S302中,启动至少一个编译线程对安装包进行编译。
[0114]在步骤S303中,确定发起安装请求的进程的当前运行状态。
[0115]这里,可将记录的初始运行状态确定为发起安装请求的进程的当前运行状态。或者,当接收到包括发起安装请求的进程的运行状态的通知消息时,根据接收通知消息,确定发起安装请求的进程的当前运行状态。
[0116]当然,由于包括发起安装请求的进程的运行状态的通知消息包括了发起安装请求的进程的运行状态更换的切换通知消息,因此,当接收到发起安装请求的进程的运行状态更换的切换通知消息时,也可根据切换通知消息,确定发起安装请求的进程的当前运行状态。当然,本公开也不限于此,其他的方式也可确定发起安装请求的进程的当前运行状态。
[0117]在步骤S304中,判断发起安装请求的进程的当前运行状态是否为后台运行状态?若是,执行步骤S305,否则,执行步骤S306。
[0118]在步骤S305中,将编译线程运行在中央处理器中预设的数据处理核心上,并转入步骤S307中。
[0119]同样,预设的数据处理核心为一个、两个或多个小核,因此,将编译线程运行在CPU设定的小核上,由于小核功耗低,不易发热,可避免编译线程运行在容易发热的大核上,避免发热降频。
[0120]在步骤S306中,将编译线程运行在中央处理器中任意的数据处理核心上,并转入步骤S307中。
[0121]这里,由于发起安装请求的进程的当前运行状态是前台,因此,不再限制,编译线程可运行在CPU的任意核心上。这样,由于是前台运行状态,可以占用性能高的大核资源,从而,提高了编译安装的速度。
[0122]在步骤S307中,判断当前应用的安装包的编译是否完成?若是,本流程结束,否则,执行步骤S308。
[0123]在步骤S308中,判断是否接收到发起安装请求的进程的运行状态更换的切换通知消息?若是,返回步骤S303,否则,返回步骤S307中。
[0124]由于在进行当前应用的安装包的安装过程中,发起安装请求的进程的当前运行状态可能会发生变化,因此,当编译过程未完成时,还需判断是否接收到发起安装请求的进程的运行状态更换的切换通知消息,若是,则可根据切换通知消息,确定发起安装请求的进程的当前运行状态,并根据当前运行状态,采用中央处理器中对应的数据处理核心运行编译线程,进行当前应用的安装包的安装。
[0125]可见,本实施例中,可及时根据发起安装请求的进程的当前运行状态,采用中央处理器中对应的数据处理核心运行编译线程,进行当前应用的安装包的安装,从而,使得应用安装过程更加灵活,更加能满足用户的需求,提高用户的体验。
[0126]下述为本公开装置实施例,可以用于执行本公开方法实施例。
[0127]图4是根据一示例性实施例示出的应用安装装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,该应用安装装置包括:接收模块410、启动模块420、确定模块430以及第一运行模块440。其中,
[0128]接收模块410,被配置为接收安装当前应用的安装包的安装请求。
[0129]启动模块420,与接收模块410连接,被配置为启动至少一个编译线程对安装包进行编译。
[0130]确定模块430,与启动模块420连接,被配置为确定发起安装请求的进程的当前运行状态。
[0131]第一运行模块440,与确定模块430连接,被配置为若当前运行状态为后台运行状态时,将编译线程运行在中央处理器中预设的数据处理核心上,进行当前应用的安装包的安装。
[0132]可见,当发起安装请求的进程处于后台运行状态时,可只在中央处理器中预设的数据处理核心上,运行对应用的安装包进行编译的编译线程,这样,合理地分配了中央处理器的资源,减少了将编译线程运行在高功耗易发热的数据处理核心上的几率,从而也减少因发热导致中央处理降频的几率,进一步降低了功耗。
[0133]在一个实施例中,装置还包括:记录模块,被配置为确定发起安装请求的进程的初始运行状态,并进行记录。从而,接收到安装请求后,可记录发起装请求的进程的初始运行状态,从而可便于确定发起安装请求的进程的当前运行状态,节省安装流程。
[0134]由于已经记录了发起装请求的进程的初始运行状态,确定模块430可包括:第一确定子模块,被配置为将记录的初始运行状态确定为发起安装请求的进程的当前运行状态。这样,直接将记录的初始运行状态确定为发起装请求的进程的当前运行状态,提高了安装应用的效率。
[0135]在一个实施例中,确定模块430包括:第二确定子模块,被配置为当接收到包括发起安装请求的进程的运行状态的通知消息时,根据接收通知消息,确定发起安装请求的进程的当前运行状态。
[0136]这里,包括发起安装请求的进程的运行状态的通知消息包括了发起安装请求的进程的运行状态更换的切换通知消息。
[0137]可见,可根据接收到的通知消息来确定发起安装请求的进程的当前运行状态,从而,使得确定当前状态的过程灵活,可适用多种应用场景。
[0138]在一个实施例中,装置还包括:第二运行模块,可与确定模块430连接,被配置为若当前运行状态为前台运行状态时,将编译线程运行在中央处理器中任意的数据处理核心上,进行当前应用的安装包的安装。
[0139]当然,若当前运行状态为前台运行状态,可在央处理器中任意的数据处理核心上运行编译线程,可不限定在预设的数据处理核心上,这样,可提高编译的速度,提高应用安装包的安装速度。
[0140]在一个实施例中,装置还包括:调用模块,被配置为当接收到发起安装请求的进程的运行状态更换的切换通知消息时,调用确定模块430。
[0141]可见,若发起安装请求的进程的运行状态发生了改变,运行编译进程的中央处理器中的数据处理核心也会发生改变,从而,使得应用安装过程更加灵活,更加能满足用户的需求,提高用户的体验。
[0142]下面将操作流程集合到具体实施例中,举例说明本公开实施例提供的装置。
[0143]实施例三,图5是根据一示例性实施例三示出的应用安装装置的框图,如图5所示,该装置包括:接收模块410、启动模块420、确定模块430,第一运行模块440以及第二运行模块450。其中,该装置还可包括记录模块460,而确定模块430包括第一确定子模块431。
[0144]本实施例中,预设的数据处理核心包括:一个、两个或多个第一数据处理芯片而第一数据处理芯片是CPU中功耗相对低的芯片,即第一数据处理芯片的功耗小于CPU中其他的至少一个数据处理芯片的功耗。这里,预设的数据处理核心为一个、两个或多个小核。
[0145]接收模块410接收安装当前应用的安装包的安装请求,而记录模块460记录发起安装请求的进程的初始运行状态。这样,启动模块420启动至少一个编译线程对安装包进行编译。而确定模块430中第一确定子模块431根据记录模块460的记录,将记录的初始运行状态确定为发起安装请求的进程的当前运行状态。
[0146]这样,当发起安装请求的进程的当前运行状态为后台运行状态时,第一运行模块440将编译线程运行在中央处理器中预设的数据处理核心上,进行当前应用的安装包的安装。这里,预设的数据处理核心为一个、两个或多个小核,因此,将编译线程运行在CPU设定的小核上,由于小核功耗低,不易发热,可避免编译线程运行在容易发热的大核上,避免发热降频。
[0147]当发起安装请求的进程的当前运行状态为前台运行状态时,第二运行模块450将编译线程运行在中央处理器中任意的数据处理核心上,进行当前应用的安装包的安装。由于发起安装请求的进程的当前运行状态是前台,因此,不再限制,编译线程可运行在CPU的任意核心上。这样,由于是前台运行状态,可以占用性能高的大核资源,从而,提高了编译安装的速度。
[0148]可见,本实施例中,当发起安装请求的进程处于后台运行状态时,可只在中央处理器中预设的数据处理核心上,运行对应用的安装包进行编译的编译线程,这样,合理地分配了中央处理器的资源,减少了将编译线程运行在高功耗易发热的数据处理核心上的几率,从而也减少因发热导致中央处理降频的几率,进一步降低了功耗。
[0149]实施例四,图6是根据一示例性实施例四示出的应用安装装置的框图,如图6所示,该装置包括:接收模块410、启动模块420、确定模块430,第一运行模块440以及第二运行模块450。其中,该装置还可包括调用模块470,而确定模块430可包括第一确定子模块431和第二确定子模块432。
[0150]本实施例中,预设的数据处理核心包括:一个、两个或多个第一数据处理芯片,而第一数据处理芯片是CPU中功耗相对低的芯片,即第一数据处理芯片的功耗小于CPU中其他的至少一个数据处理芯片的功耗。这里,预设的数据处理核心为一个、两个或多个小核。
[0151]其中,接收模块410接收安装当前应用的安装包的安装请求。而启动模块420启动至少一个编译线程对安装包进行编译。
[0152]确定模块430确定发起安装请求的进程的当前运行状态。这里,确定模块430中的第一确定子模块431可将记录的初始运行状态确定为发起安装请求的进程的当前运行状态。而当接收到包括发起安装请求的进程的运行状态的通知消息时,第二确定子模块432根据接收通知消息,确定发起安装请求的进程的当前运行状态。当然,由于包括发起安装请求的进程的运行状态的通知消息包括了发起安装请求的进程的运行状态更换的切换通知消息,因此,当接收到发起安装请求的进程的运行状态更换的切换通知消息时,第二确定子模块432也可根据切换通知消息,确定发起安装请求的进程的当前运行状态。
[0153]这样,当发起安装请求的进程的当前运行状态为后台运行状态时,第一运行模块440将编译线程运行在中央处理器中预设的数据处理核心上,进行当前应用的安装包的安装。而当发起安装请求的进程的当前运行状态为前台运行状态时,第二运行模块450将编译线程运行在中央处理器中任意的数据处理核心上,进行当前应用的安装包的安装。
[0154]而由于在进行当前应用的安装包的安装过程中,发起安装请求的进程的当前运行状态可能会发生变化,因此,当编译过程未完成时,当接收到发起安装请求的进程的运行状态更换的切换通知消息,调用模块470继续调用确定模块430,从而,可继续根据当前运行状态,采用中央处理器中对应的数据处理核心运行编译线程,进行当前应用的安装包的安装。
[0155]可见,本实施例中,可及时根据发起安装请求的进程的当前运行状态,采用中央处理器中对应的数据处理核心运行编译线程,进行当前应用的安装包的安装,从而,使得应用安装过程更加灵活,更加能满足用户的需求,提高用户的体验。
[0156]本公开实施例提供一种应用安装的装置,被配置为终端,包括:
[0157]处理器;
[0158]被配置为存储处理器可执行指令的存储器;
[0159]其中,处理器被配置为:
[0160]接收安装当前应用的安装包的安装请求;
[0161 ]启动至少一个编译线程对所述安装包进行编译;
[0162]确定发起所述安装请求的进程的当前运行状态;
[0163]若所述当前运行状态为后台运行状态时,将所述编译线程运行在中央处理器中预设的数据处理核心上,进行所述当前应用的安装包的安装。
[0164]本公开的实施例提供的技术方案可以包括以下有益效果:
[0165]本公开的实施例提供的上述技术方案,当发起安装请求的进程处于后台运行状态时,可只在中央处理器中预设的数据处理核心上,运行对应用的安装包进行编译的编译线程,这样,合理地分配了中央处理器的资源,减少了将编译线程运行在高功耗易发热的数据处理核心上的几率,从而也减少因发热导致中央处理降频的几率,进一步降低了功耗。
[0166]关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0167]图7是根据一示例性实施例示出的一种用于应用安装的装置1200的框图,该装置适用于终端设备。例如,装置1200可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0168]参照图7,装置1200可以包括以下一个或多个组件:处理组件1202,存储器1204,电源组件1206,多媒体组件1208,音频组件1210,输入/输出(I/0)的接口 1212,传感器组件1214,以及通信组件1216。
[0169]处理组件1202通常控制装置1200的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1202可以包括一个或多个处理器1220来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1202可以包括一个或多个模块,便于处理组件1202和其他组件之间的交互。例如,处理组件1202可以包括多媒体模块,以方便多媒体组件1208和处理组件1202之间的交互。
[0170]存储器1204被配置为存储各种类型的数据以支持在装置1200的操作。这些数据的示例包括用于在装置1200上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1204可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPR0M),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
[0171]电源组件1206为装置1200的各种组件提供电力。电源组件1206可以包括电源管理系统,一个或多个电源,及其他与为装置1200生成、管理和分配电力相关联的组件。
[0172]多媒体组件1208包括在装置1200和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间点和压力。在一些实施例中,多媒体组件1208包括一个前置摄像头和/或后置摄像头。当装置1200处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0173 ]音频组件1210被配置为输出和/或输入音频信号。例如,音频组件1210包括一个麦克风(MIC),当装置1200处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1204或经由通信组件1216发送。在一些实施例中,音频组件1210还包括一个扬声器,用于输出音频信号。
[0174]I/O接口 1212为处理组件1202和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0175]传感器组件1214包括一个或多个传感器,用于为装置1200提供各个方面的状态评估。例如,传感器组件1214可以检测到装置1200的打开/关闭状态,组件的相对定位,例如组件为装置1200的显示器和小键盘,传感器组件1214还可以检测装置1200或装置1200—个组件的位置改变,用户与装置1200接触的存在或不存在,装置1200方位或加速/减速和装置1200的温度变化。传感器组件1214可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1214还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1214还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0176]通信组件1216被配置为便于装置1200和其他终端之间有线或无线方式的通信。装置1200可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件1216经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件1216还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
[0177]在示例性实施例中,装置1200可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0178]在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1204,上述指令可由装置1200的处理器820执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
[0179]—种非临时性计算机可读存储介质,当存储介质中的指令由装置1200的处理器执行时,使得装置1200能够执行图1所示的方法,方法包括:
[0180]接收安装当前应用的安装包的安装请求;
[0181 ]启动至少一个编译线程对所述安装包进行编译;
[0182]确定发起所述安装请求的进程的当前运行状态;
[0183]若所述当前运行状态为后台运行状态时,将所述编译线程运行在中央处理器中预设的数据处理核心上,进行所述当前应用的安装包的安装。
[0184]所述接收安装当前应用的安装包的安装请求之后,还包括:
[0185]确定发起所述安装请求的进程的初始运行状态,并进行记录。
[0186]所述确定发起所述安装请求的进程的当前运行状态包括:
[0187]将记录的初始运行状态确定为发起所述安装请求的进程的当前运行状态。
[0188]所述确定发起所述安装请求的进程的当前运行状态包括:
[0189]当接收到包括发起所述安装请求的进程的运行状态的通知消息时,根据接收所述通知消息,确定发起所述安装请求的进程的当前运行状态。
[0190]所述方法还包括:
[0191]若所述当前运行状态为前台运行状态时,将所述编译线程运行在中央处理器中任意的数据处理核心上,进行所述当前应用的安装包的安装。
[0192]所述进行所述当前应用的安装包的安装还包括:
[0193]当接收到发起所述安装请求的进程的运行状态更换的切换通知消息时,根据所述切换通知消息,确定发起所述安装请求的进程的当前运行状态,并根据所述当前运行状态,采用中央处理器中对应的数据处理核心运行所述编译线程,进行所述当前应用的安装包的安装。
[0194]所述预设的数据处理核心包括:一个、两个或多个第一数据处理芯片,,其中,所述第一数据处理芯片是所述中央处理器中低功耗的芯片。
[0195]本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0196]应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
【主权项】
1.一种应用安装的方法,其特征在于,包括: 接收安装当前应用的安装包的安装请求; 启动至少一个编译线程对所述安装包进行编译; 确定发起所述安装请求的进程的当前运行状态; 若所述当前运行状态为后台运行状态时,将所述编译线程运行在中央处理器中预设的数据处理核心上,进行所述当前应用的安装包的安装。2.如权利要求1所述的方法,其特征在于,所述接收安装当前应用的安装包的安装请求之后,还包括: 确定发起所述安装请求的进程的初始运行状态,并进行记录。3.如权利要求2所述的方法,其特征在于,所述确定发起所述安装请求的进程的当前运行状态包括: 将记录的初始运行状态确定为发起所述安装请求的进程的当前运行状态。4.如权利要求1所述的方法,其特征在于,所述确定发起所述安装请求的进程的当前运行状态包括: 当接收到包括发起所述安装请求的进程的运行状态的通知消息时,根据接收所述通知消息,确定发起所述安装请求的进程的当前运行状态。5.如权利要求1所述的方法,其特征在于,所述方法还包括: 若所述当前运行状态为前台运行状态时,将所述编译线程运行在中央处理器中任意的数据处理核心上,进行所述当前应用的安装包的安装。6.如权利要求1或5所述的方法,其特征在于,所述进行所述当前应用的安装包的安装还包括: 当接收到发起所述安装请求的进程的运行状态更换的切换通知消息时,根据所述切换通知消息,确定发起所述安装请求的进程的当前运行状态,并根据所述当前运行状态,采用中央处理器中对应的数据处理核心运行所述编译线程,进行所述当前应用的安装包的安装。7.如权利要求1所述的方法,其特征在于,所述预设的数据处理核心包括:一个、两个或多个第一数据处理芯片,其中,所述第一数据处理芯片的功耗小于所述中央处理器中其他的至少一个数据处理芯片的功耗。8.一种应用安装的装置,其特征在于,包括: 接收模块,用于接收安装当前应用的安装包的安装请求;启动模块,与所述接收模块连接,用于启动至少一个编译线程对所述安装包进行编译;确定模块,与所述启动模块连接,用于确定发起所述安装请求的进程的当前运行状态;第一运行模块,与所述确定模块连接,用于若所述当前运行状态为后台运行状态时,将所述编译线程运行在中央处理器中预设的数据处理核心上,进行所述当前应用的安装包的安装。9.如权利要求8所述的装置,其特征在于,所述装置还包括: 记录模块,用于确定发起所述安装请求的进程的初始运行状态,并进行记录。10.如权利要求9所述的装置,其特征在于,所述确定模块包括: 第一确定子模块,用于将记录的初始运行状态确定为发起所述安装请求的进程的当前运行状态。11.如权利要求8所述的装置,其特征在于,所述确定模块包括: 第二确定子模块,用于当接收到包括发起所述安装请求的进程的运行状态的通知消息时,根据接收所述通知消息,确定发起所述安装请求的进程的当前运行状态。12.如权利要求8所述的装置,其特征在于,所述装置还包括: 第二运行模块,用于若所述当前运行状态为前台运行状态时,将所述编译线程运行在中央处理器中任意的数据处理核心上,进行所述当前应用的安装包的安装。13.如权利要求8或12所述的装置,其特征在于,所述装置还包括: 调用模块,用于当接收到发起所述安装请求的进程的运行状态更换的切换通知消息时,调用所述确定模块。14.一种应用安装的装置,用于终端,其特征在于,包括: 处理器; 用于存储处理器可执行指令的存储器; 其中,所述处理器被配置为: 接收安装当前应用的安装包的安装请求; 启动至少一个编译线程对所述安装包进行编译; 确定发起所述安装请求的进程的当前运行状态; 若所述当前运行状态为后台运行状态时,将所述编译线程运行在中央处理器中预设的数据处理核心上,进行所述当前应用的安装包的安装。
【文档编号】G06F9/445GK106020893SQ201610363947
【公开日】2016年10月12日
【申请日】2016年5月26日
【发明人】王舒捷, 孙念, 甘晓霖
【申请人】北京小米移动软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1