应用程序运行控制方法及设备与流程

文档序号:14008155阅读:187来源:国知局
应用程序运行控制方法及设备与流程

本申请涉及移动终端技术领域,具体涉及应用程序运行控制方法及设备。



背景技术:

随着智能手机相关技术的快速发展,越来越多的应用被安装在用户手机中,如阅读类应用、支付类应用、游戏类应用、音乐类应用等,人们的衣食住行已经与手机密不可分。



技术实现要素:

本申请实施例提供了应用程序运行控制方法及设备,可以提高移动终端运行目标应用程序的可靠性和流畅度。

第一方面,本申请实施例提供一种应用程序运行控制方法,包括:

确定移动终端前台运行的目标应用程序处于预设内部运行场景,获取所述预设内部运行场景的第一计算资源,以及获取所述移动终端后台运行的至少一个应用程序的第二计算资源;

根据所述第一计算资源和所述第二计算资源,确定所述移动终端的多个中央处理单元cpu的配置策略;

利用所述配置策略中分配给所述目标应用程序的至少一个cpu对应的计算资源运行所述预设内部运行场景。

第二方面,本申请实施例提供一种应用程序运行控制装置,包括确定单元、获取单元和启用单元,其中,

所述确定单元,用于确定移动终端前台运行的目标应用程序处于预设内部运行场景;

所述获取单元,用于获取所述预设内部运行场景的第一计算资源,以及获取所述移动终端后台运行的至少一个应用程序的第二计算资源;

所述确定单元,还用于根据所述第一计算资源和所述第二计算资源,确定所述移动终端的多个中央处理单元cpu的配置策略;

所述启用单元,用于利用所述配置策略中分配给所述目标应用程序的至少一个cpu对应的计算资源运行所述预设内部运行场景。

第三方面,本申请实施例提供一种移动终端,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行本申请实施例第一方面任一方法中的步骤的指令。

第四方面,本申请实施例提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤,所述计算机包括移动终端。

第五方面,本申请实施例提供了一种计算机程序产品,其中,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包,所述计算机包括移动终端。

可以看出,本申请实施例中,移动终端首先确定移动终端前台运行的目标应用程序处于预设内部运行场景,其次,获取预设内部运行场景的第一计算资源,以及获取移动终端后台运行的至少一个应用程序的第二计算资源,再次,根据第一计算资源和第二计算资源,确定移动终端的多个中央处理单元cpu的配置策略,最后,利用配置策略中分配给目标应用程序的至少一个cpu对应的计算资源运行预设内部运行场景。由于移动终端能够针对目标应用程序的内部运行场景结合当前系统资源占用情况进行精确的资源分配,避免其他应用程序占用过多计算资源而影响当前内部运行场景的运行状态,有利于提高目标应用程序的预设内部运行场景运行的可靠性和流畅度。

附图说明

下面将对本申请实施例所涉及到的附图作简单地介绍。

图1a是一种智能手机的程序运行空间的示意图;

图1b是一种安卓系统的系统架构图;

图2是本申请实施例提供的一种应用程序运行控制方法的流程示意图;

图3是本申请实施例公开的一种应用程序运行控制方法的流程示意图;

图4是本申请实施例公开的一种应用程序运行控制方法的流程示意图;

图5是本申请实施例公开的一种移动终端的结构示意图;

图6是本申请实施例公开的一种移动终端的功能单元组成框图;

图7是本申请实施例公开的一种智能手机的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本申请实施例所涉及到的移动终端可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(userequipment,ue),移动台(mobilestation,ms),终端设备(terminaldevice)等等。为方便描述,上面提到的设备统称为移动终端。本申请实施例所涉及到的操作系统是对硬件资源进行统一管理,并向用户提供业务接口的软件系统。本申请实施例所描述的计算资源设置移动终端的运行计算资源,也成为运存。

如图1a所示,目前智能手机等移动终端一般设置有程序运行空间,该程序运行空间包括用户空间和操作系统空间,其中,用户空间运行有一个或多个应用程序,该一个或多个应用程序为移动终端安装的目标应用程序,操作系统空间运行有移动终端的操作系统。该移动终端具体可以运行安卓android系统、苹果公司开发的移动操作系统ios等,此处不做唯一限定。如图1b所示,以所述移动终端运行有android系统为例,对应的用户空间包括该android系统中的应用层(applications),操作系统空间可以包括该android系统中的应用程序框架层(applicationframework)、系统运行库层(包括系统运行库层libraries和android运行时androidruntime)、linux内核层(linuxkernel)。其中,应用层上包括各类与用户直接交互的应用程序,或由java语言编写的运行于后台的服务程序。例如,智能手机上实现的常见基本功能的程序,诸如短消息业务(shortmessagingservice,sms)短信,电话拨号,图片浏览器,日历,游戏,地图,万维网(worldwideweb,web)浏览器等程序,以及开发人员开发的其他应用程序。应用程序框架层提供开发android应用程序所需的一系列类库,能够用于重用组件,也可以通过继承实现个性化的扩展。系统运行库层是应用程序框架的支撑,为android系统中的各个组件提供服务。系统运行库层由系统类库和android运行时构成。android运行时包含核心库和dalvik虚拟机两部分。linux内核层用于实现硬件设备驱动,进程和内存管理,网络协议栈,电源管理,无线通信等核心功能。

常规设计中,目标应用程序运行在用户空间的,当它要执行网络发送数据、读取磁盘资源等动作时,必须通过调用write、send等由操作系统提供的标准接口函数来完成,即由cpu调用操作系统空间的代码来完成用户的请求操作。移动终端的操作系统一般是整体性的提高系统资源配置如提高cpu主频等来加速目标应用程序的运行性能。

针对所述情况,本申请实施例提出一种针对移动终端的目标应用程序的应用程序运行控制方法,该方法中,移动终端首先确定移动终端前台运行的目标应用程序处于预设内部运行场景,其次,获取预设内部运行场景的第一计算资源,以及获取移动终端后台运行的至少一个应用程序的第二计算资源,再次,根据第一计算资源和第二计算资源,确定移动终端的多个中央处理单元cpu的配置策略,最后,利用配置策略中分配给目标应用程序的至少一个cpu对应的计算资源运行预设内部运行场景。由于移动终端能够针对目标应用程序的内部运行场景结合当前系统资源占用情况进行精确的资源分配,避免其他应用程序占用过多计算资源而影响当前内部运行场景的运行状态,有利于提高目标应用程序的预设内部运行场景运行的可靠性和流畅度。

下面结合附图对本申请实施例进行介绍。

请参阅图2,图2是本申请实施例提供了一种应用程序运行控制方法的流程示意图,应用于移动终端,移动终端上运行有操作系统和一个或多个应用程序,如图所示,本应用程序运行控制方法包括:

s201,所述移动终端确定移动终端前台运行的目标应用程序处于预设内部运行场景。

其中,所述目标应用程序例如可以是游戏应用程序、即时通讯应用程序、相机应用程序、购物应用程序、视频类应用程序等,此处不做唯一限定。

其中,不同应用程序的预设内部运行场景一般是不同的,以游戏应用程序为例,游戏应用程序中的预设内部运行场景例如可以是团战场景、商城场景、启动场景等,此处不做唯一限定。

s202,所述移动终端获取所述预设内部运行场景的第一计算资源,以及获取所述移动终端后台运行的至少一个应用程序的第二计算资源。

其中,所述计算资源可以是预设的经验值,该第一计算资源能够支持当前预设内部运行场景运行在可靠、流畅且画面质量达到一定要求的状态,如帧率60、画面质量等级为中等标准,该第一计算资源例如可以是300mhz、400mhz、500mhz、1ghz等,此处不做唯一限定。

其中,所述第二计算资源为后台运行的至少一个应用程序的计算资源占用量的和,如后台运行的至少一个应用程序包括第一应用程序和第二应用程序,且第一应用程序的计算资源占用量为50mhz,第二应用程序的计算资源的占用量为75mhz,则第二计算资源为125mhz。

s203,所述移动终端根据所述第一计算资源和所述第二计算资源,确定所述移动终端的多个中央处理单元cpu的配置策略。

其中,所述移动终端为多核cpu,具体可以是双核、四核、八核、十六核等,此处不做唯一限定。

s204,所述移动终端利用所述配置策略中分配给所述目标应用程序的至少一个cpu对应的计算资源运行所述预设内部运行场景。

其中,由于目标应用程序的预设内部运行场景所需要的计算资源可能大于单个cpu所能提供的计算资源,故而可能会需要多个cpu来提供足够的计算资源以流畅运行预设内部运行场景,如游戏应用程序的团战场景可能需要800mhz计算资源,而第一cpu可能仅能够提供500mhz计算资源,此种情况下就需要第一cpu和第二cpu合计提供800mhz计算资源来支持该团战场景的运行。

可以看出,本申请实施例中,移动终端首先确定移动终端前台运行的目标应用程序处于预设内部运行场景,其次,获取预设内部运行场景的第一计算资源,以及获取移动终端后台运行的至少一个应用程序的第二计算资源,再次,根据第一计算资源和第二计算资源,确定移动终端的多个中央处理单元cpu的配置策略,最后,利用配置策略中分配给目标应用程序的至少一个cpu对应的计算资源运行预设内部运行场景。由于移动终端能够针对目标应用程序的内部运行场景结合当前系统资源占用情况进行精确的资源分配,避免其他应用程序占用过多计算资源而影响当前内部运行场景的运行状态,有利于提高目标应用程序的预设内部运行场景运行的可靠性和流畅度。

在一个可能的示例中,所述配置策略包括需要额外启用的cpu的个数和每个cpu的计算资源分配,所述每个cpu的计算资源分配包括分配给所述移动终端当前运行的应用程序中每个应用程序的计算资源。

其中,所述分配给每个应用程序的计算资源具体可以包括分配给每个应用程序的至少一个进程的计算资源,所述进程的类型包括以下至少一种:空进程、后台进程、服务进程、可见进程和前台进程。也就是说,移动终端的计算资源管理可以精细化到进程级别,从而更为精准的分配计算资源。

在一个可能的示例中,所述移动终端根据所述第一计算资源和所述第二计算资源,确定所述移动终端的多个中央处理单元cpu的配置策略,包括:所述移动终端根据所述第一计算资源和所述第二计算资源确定需要额外启用的cpu的个数以及需要关闭的应用程序;按照资源均衡分配策略建立每个cpu的计算资源与未关闭的应用程序之间的映射关系。

其中,移动终端的每个cpu所能提供的计算资源可以相同,也可以不同,资源均衡策略具体是指每个cpu被分配的计算资源与自身所能够提供的计算资源的占比应该是尽可能接近的,如移动终端初始启用了第一cpu,确定需要额外启用第二cpu,且第一cpu所能够提供的计算资源为800mhz,第二cpu所能够提供的计算资源为500mhz,当前目标应用程序的预设内部运行场景所需要的计算资源为400mhz,至少一个应用程序中未被关闭的应用程序包括第一应用程序和第二应用程序,且第一应用程序所需要的计算资源为150mhz,第二应用程序所需要的计算资源为100mhz,则移动终端通过计算可以确定第一cpu的400mhz计算资源与目标应用程序建立第一映射关系,确定第二cpu的150mhz计算资源与第一应用程序建立第二映射关系,以及确定第二cpu的100mhz计算资源与第二应用程序建立第三映射关系,从而第一cpu和第二cpu的内存使用率均为50%,达到较好的资源平衡状态。

可见,本示例中,移动终端首先基于第一计算资源和第二计算资源准确确定需要额外启用的cpu的个数以及需要关闭的应用程序,其次,按照资源均衡分配策略建立每个cpu的计算资源与未关闭的应用程序之间的映射关系,从而使得移动终端启用的cpu中每个cpu的使用率尽可能的接近,有利于均衡系统资源,有利于维持系统稳定性和功耗平衡。

在一个可能的示例中,所述移动终端根据所述第一计算资源和所述第二计算资源确定需要启用的cpu的个数以及需要关闭的应用程序,包括:所述移动终端确定所述移动终端当前启用的cpu所能提供的第一最大计算资源和所述移动终端的全部cpu所能提供的第二最大计算资源;

若所述第一计算资源和所述第二计算资源的和小于或等于所述第一最大计算资源,则所述移动终端确定无需额外启用cpu,且无需关闭所述至少一个应用程序中的任一应用程序;

若所述第一计算资源和所述第二计算资源的和大于所述第一最大计算资源,且小于或等于所述第二最大计算资源,则所述移动终端根据所述第一计算资源和所述第二计算资源的和以及所述第一最大计算资源确定需要额外启用的至少一个cpu,且无需关闭所述至少一个应用程序中的任一应用程序;

若所述第一计算资源和所述第二计算资源的和大于所述第二最大计算资源,则所述移动终端按照应用程序优先级由低至高的顺序关闭一个或多个应用程序,并根据所述第一计算资源和所述至少一个应用程序中未关闭的应用程序的计算资源确定需要额外启用的至少一个cpu。

可见,本示例中,移动终端能够基于第一计算资源和所述第二计算资源的和与第一最大计算资源以及第二最大计算资源之间的关系,灵活确定需要额外启用的cpu和需要关闭的应用程序,以维持系统稳定性,避免内存溢出导致系统奔溃等情况发生,有利于提高控制目标应用程序运行的智能性和可靠性。

在一个可能的示例中,所述移动终端确定移动终端前台运行的目标应用程序处于预设内部运行场景,包括:所述移动终端获取所述移动终端前台运行的目标应用程序的关键性能参数;根据所述关键性能参数确定所述目标应用程序处于预设内部运行场景;或者,所述移动终端获取所述移动终端前台运行的目标应用程序发送的场景标识;确定所述场景标识对应的内部运行场景为预设内部运行场景。

其中,关键性能参数包括目标应用程序在运行过程中的界面标识、用户交互记录、帧率等各类系统状态参数和/或信息。

可见,本示例中,针对基于关键性能参数确定预设内部运行场景的方案,由于关键性能参数能够由目标应用程序直接采集,并实时传递给操作系统,再由操作系统进行分析快速确定内部运行场景,有利于提高内部运行场景确认的实时性。针对基于场景标识确定预设内部运行场景的方案,需要目标应用程序具备场景识别能力,并在识别出当前内部运行场景的情况下向操作系统传递该场景标识,以使得操作系统能够基于该场景标识准确确定预设内部运行场景,提高内部运行场景确认的准确度。

与所述图2所示的实施例一致的,请参阅图3,图3是本申请实施例提供的一种应用程序运行控制方法的流程示意图,应用于移动终端,所述移动终端上运行有移动终端和一个多个应用程序。如图所示,本应用程序运行控制方法包括:

s301,所述移动终端获取所述移动终端前台运行的目标应用程序的关键性能参数。

s302,所述移动终端根据所述关键性能参数确定所述目标应用程序处于预设内部运行场景。

s303,所述移动终端获取所述预设内部运行场景的第一计算资源,以及获取所述移动终端后台运行的至少一个应用程序的第二计算资源。

s304,所述移动终端根据所述第一计算资源和所述第二计算资源确定需要额外启用的cpu的个数以及需要关闭的应用程序。

s305,所述移动终端按照资源均衡分配策略建立每个cpu的计算资源与未关闭的应用程序之间的映射关系。

s306,所述移动终端利用所述配置策略中分配给所述目标应用程序的至少一个cpu对应的计算资源运行所述预设内部运行场景。

可以看出,本申请实施例中,移动终端首先确定移动终端前台运行的目标应用程序处于预设内部运行场景,其次,获取预设内部运行场景的第一计算资源,以及获取移动终端后台运行的至少一个应用程序的第二计算资源,再次,根据第一计算资源和第二计算资源,确定移动终端的多个中央处理单元cpu的配置策略,最后,利用配置策略中分配给目标应用程序的至少一个cpu对应的计算资源运行预设内部运行场景。由于移动终端能够针对目标应用程序的内部运行场景结合当前系统资源占用情况进行精确的资源分配,避免其他应用程序占用过多计算资源而影响当前内部运行场景的运行状态,有利于提高目标应用程序的预设内部运行场景运行的可靠性和流畅度。

此外,针对基于关键性能参数确定预设内部运行场景的方案,由于关键性能参数能够由目标应用程序直接采集,并实时传递给操作系统,再由操作系统进行分析快速确定内部运行场景,有利于提高内部运行场景确认的实时性。

与所述图2所示的实施例一致的,请参阅图4,图4是本申请实施例提供的一种应用程序运行控制方法的流程示意图,应用于移动终端,所述移动终端上运行有移动终端和一个或多个应用程序。如图所示,本应用程序运行控制方法包括:

s401,所述移动终端获取所述移动终端前台运行的目标应用程序的关键性能参数。

s402,所述移动终端根据所述关键性能参数确定所述目标应用程序处于预设内部运行场景。

s403,所述移动终端获取所述预设内部运行场景的第一计算资源,以及获取所述移动终端后台运行的至少一个应用程序的第二计算资源。

s404,所述移动终端确定所述移动终端当前启用的cpu所能提供的第一最大计算资源和所述移动终端的全部cpu所能提供的第二最大计算资源。

s405,若所述第一计算资源和所述第二计算资源的和小于或等于所述第一最大计算资源,则确定无需额外启用cpu,且无需关闭所述至少一个应用程序中的任一应用程序。

s406,若所述第一计算资源和所述第二计算资源的和大于所述第一最大计算资源,且小于或等于所述第二最大计算资源,则根据所述第一计算资源和所述第二计算资源的和以及所述第一最大计算资源确定需要额外启用的至少一个cpu,且无需关闭所述至少一个应用程序中的任一应用程序。

s407,若所述第一计算资源和所述第二计算资源的和大于所述第二最大计算资源,则按照应用程序优先级由低至高的顺序关闭一个或多个应用程序,并根据所述第一计算资源和所述至少一个应用程序中未关闭的应用程序的计算资源确定需要额外启用的至少一个cpu。

s408,所述移动终端按照资源均衡分配策略建立每个cpu的计算资源与未关闭的应用程序之间的映射关系。

s409,所述移动终端利用所述配置策略中分配给所述目标应用程序的至少一个cpu对应的计算资源运行所述预设内部运行场景。

可以看出,本申请实施例中,移动终端首先确定移动终端前台运行的目标应用程序处于预设内部运行场景,其次,获取预设内部运行场景的第一计算资源,以及获取移动终端后台运行的至少一个应用程序的第二计算资源,再次,根据第一计算资源和第二计算资源,确定移动终端的多个中央处理单元cpu的配置策略,最后,利用配置策略中分配给目标应用程序的至少一个cpu对应的计算资源运行预设内部运行场景。由于移动终端能够针对目标应用程序的内部运行场景结合当前系统资源占用情况进行精确的资源分配,避免其他应用程序占用过多计算资源而影响当前内部运行场景的运行状态,有利于提高目标应用程序的预设内部运行场景运行的可靠性和流畅度。

此外,针对基于关键性能参数确定预设内部运行场景的方案,由于关键性能参数能够由目标应用程序直接采集,并实时传递给操作系统,再由操作系统进行分析快速确定内部运行场景,有利于提高内部运行场景确认的实时性。

此外,移动终端能够基于第一计算资源和所述第二计算资源的和与第一最大计算资源以及第二最大计算资源之间的关系,灵活确定需要额外启用的cpu和需要关闭的应用程序,以维持系统稳定性,避免内存溢出导致系统奔溃等情况发生,有利于提高控制目标应用程序运行的智能性和可靠性。

与所述图2、图3、图4所示的实施例一致的,请参阅图5,图5是本申请实施例提供的一种移动终端的结构示意图,该移动终端运行有一个或多个应用程序和操作系统,如图所示,该移动终端包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序不同于所述一个或多个应用程序,且所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行以下步骤的指令;

确定移动终端前台运行的目标应用程序处于预设内部运行场景;

获取所述预设内部运行场景的第一计算资源,以及获取所述移动终端后台运行的至少一个应用程序的第二计算资源;

根据所述第一计算资源和所述第二计算资源,确定所述移动终端的多个中央处理单元cpu的配置策略;

利用所述配置策略中分配给所述目标应用程序的至少一个cpu对应的计算资源运行所述预设内部运行场景。

可以看出,本申请实施例中,移动终端首先确定移动终端前台运行的目标应用程序处于预设内部运行场景,其次,获取预设内部运行场景的第一计算资源,以及获取移动终端后台运行的至少一个应用程序的第二计算资源,再次,根据第一计算资源和第二计算资源,确定移动终端的多个中央处理单元cpu的配置策略,最后,利用配置策略中分配给目标应用程序的至少一个cpu对应的计算资源运行预设内部运行场景。由于移动终端能够针对目标应用程序的内部运行场景结合当前系统资源占用情况进行精确的资源分配,避免其他应用程序占用过多计算资源而影响当前内部运行场景的运行状态,有利于提高目标应用程序的预设内部运行场景运行的可靠性和流畅度。

在一个可能的示例中,所述配置策略包括需要额外启用的cpu的个数和每个cpu的计算资源分配,所述每个cpu的计算资源分配包括分配给所述移动终端当前运行的应用程序中每个应用程序的计算资源。

在一个可能的示例中,在所述根据所述第一计算资源和所述第二计算资源,确定所述移动终端的多个中央处理单元cpu的配置策略方面,所述程序中的指令具体用于执行以下操作:根据所述第一计算资源和所述第二计算资源确定需要额外启用的cpu的个数以及需要关闭的应用程序;以及按照资源均衡分配策略建立每个cpu的计算资源与未关闭的应用程序之间的映射关系。

在一个可能的示例中,在所述根据所述第一计算资源和所述第二计算资源确定需要启用的cpu的个数以及需要关闭的应用程序方面,所述程序中的指令具体用于执行以下操作:确定所述移动终端当前启用的cpu所能提供的第一最大计算资源和所述移动终端的全部cpu所能提供的第二最大计算资源;

若所述第一计算资源和所述第二计算资源的和小于或等于所述第一最大计算资源,则确定无需额外启用cpu,且无需关闭所述至少一个应用程序中的任一应用程序;

若所述第一计算资源和所述第二计算资源的和大于所述第一最大计算资源,且小于或等于所述第二最大计算资源,则根据所述第一计算资源和所述第二计算资源的和以及所述第一最大计算资源确定需要额外启用的至少一个cpu,且无需关闭所述至少一个应用程序中的任一应用程序;

若所述第一计算资源和所述第二计算资源的和大于所述第二最大计算资源,则按照应用程序优先级由低至高的顺序关闭一个或多个应用程序,并根据所述第一计算资源和所述至少一个应用程序中未关闭的应用程序的计算资源确定需要额外启用的至少一个cpu。

在一个可能的示例中,在所述确定移动终端前台运行的目标应用程序处于预设内部运行场景方面,所述程序中的指令具体用于执行以下操作:获取所述移动终端前台运行的目标应用程序的关键性能参数;根据所述关键性能参数确定所述目标应用程序处于预设内部运行场景;或者,获取所述移动终端前台运行的目标应用程序发送的场景标识;确定所述场景标识对应的内部运行场景为预设内部运行场景。

图6示出了所述实施例中所涉及的应用程序运行控制装置的一种可能的功能单元组成框图。应用程序运行控制装置600应用于移动终端,所述移动终端上运行有操作系统和一个或多个应用程序,应用程序运行控制装置600包括确定单元601、获取单元602和启用单元603,其中,

所述确定单元601,用于确定移动终端前台运行的目标应用程序处于预设内部运行场景;

所述获取单元602,用于获取所述预设内部运行场景的第一计算资源,以及获取所述移动终端后台运行的至少一个应用程序的第二计算资源;

所述确定单元601,还用于根据所述第一计算资源和所述第二计算资源,确定所述移动终端的多个中央处理单元cpu的配置策略;

所述启用单元603,用于利用所述配置策略中分配给所述目标应用程序的至少一个cpu对应的计算资源运行所述预设内部运行场景。

可以看出,本申请实施例中,移动终端首先确定移动终端前台运行的目标应用程序处于预设内部运行场景,其次,获取预设内部运行场景的第一计算资源,以及获取移动终端后台运行的至少一个应用程序的第二计算资源,再次,根据第一计算资源和第二计算资源,确定移动终端的多个中央处理单元cpu的配置策略,最后,利用配置策略中分配给目标应用程序的至少一个cpu对应的计算资源运行预设内部运行场景。由于移动终端能够针对目标应用程序的内部运行场景结合当前系统资源占用情况进行精确的资源分配,避免其他应用程序占用过多计算资源而影响当前内部运行场景的运行状态,有利于提高目标应用程序的预设内部运行场景运行的可靠性和流畅度。

在一个可能的示例中,所述配置策略包括需要额外启用的cpu的个数和每个cpu的计算资源分配,所述每个cpu的计算资源分配包括分配给所述移动终端当前运行的应用程序中每个应用程序的计算资源。

在一个可能的示例中,在所述根据所述第一计算资源和所述第二计算资源,确定所述移动终端的多个中央处理单元cpu的配置策略方面,所述确定单元601具体用于:根据所述第一计算资源和所述第二计算资源确定需要额外启用的cpu的个数以及需要关闭的应用程序;以及按照资源均衡分配策略建立每个cpu的计算资源与未关闭的应用程序之间的映射关系。

在一个可能的示例中,在所述根据所述第一计算资源和所述第二计算资源确定需要启用的cpu的个数以及需要关闭的应用程序方面,所述确定单元601具体用于:确定所述移动终端当前启用的cpu所能提供的第一最大计算资源和所述移动终端的全部cpu所能提供的第二最大计算资源;

若所述第一计算资源和所述第二计算资源的和小于或等于所述第一最大计算资源,则确定无需额外启用cpu,且无需关闭所述至少一个应用程序中的任一应用程序;

若所述第一计算资源和所述第二计算资源的和大于所述第一最大计算资源,且小于或等于所述第二最大计算资源,则根据所述第一计算资源和所述第二计算资源的和以及所述第一最大计算资源确定需要额外启用的至少一个cpu,且无需关闭所述至少一个应用程序中的任一应用程序;

若所述第一计算资源和所述第二计算资源的和大于所述第二最大计算资源,则按照应用程序优先级由低至高的顺序关闭一个或多个应用程序,并根据所述第一计算资源和所述至少一个应用程序中未关闭的应用程序的计算资源确定需要额外启用的至少一个cpu。

在一个可能的示例中,在所述确定移动终端前台运行的目标应用程序处于预设内部运行场景方面,所述确定单元601具体用于:获取所述移动终端前台运行的目标应用程序的关键性能参数;根据所述关键性能参数确定所述目标应用程序处于预设内部运行场景;或者,获取所述移动终端前台运行的目标应用程序发送的场景标识;确定所述场景标识对应的内部运行场景为预设内部运行场景。

需要注意的是,本申请装置实施例所描述的应用程序运行控制装置是以功能单元的形式呈现。这里所使用的术语“单元”应当理解为尽可能最宽的含义,用于实现各个“单元”所描述功能的对象例如可以是集成电路asic,单个电路,用于执行一个或多个软件或固件程序的处理器(共享的、专用的或芯片组)和存储器,组合逻辑电路,和/或提供实现上述功能的其他合适的组件。

其中,确定单元601和启用单元603可以是处理器或控制器,获取单元602可以是处理器和程序运行空间之间的内部通信接口,如处理器与操作系统空间的通信接口,或者处理器与用户空间的通信接口等。

请参阅图7,图7是本申请实施例提供的一种适用于上述应用程序运行控制方法的智能手机700的结构示意图,所述智能手机700包括:壳体710、触控显示屏720、主板730、电池740和副板750,主板730上设置有前置摄像头731、处理器732、存储器733、电源管理芯片734等,副板上设置有振子751、一体音腔752、vooc闪充接口753和指纹识别模组754。

其中,智能手机700能够确定移动终端前台运行的目标应用程序处于预设内部运行场景;以及获取所述预设内部运行场景的第一计算资源,以及获取所述移动终端后台运行的至少一个应用程序的第二计算资源;以及根据所述第一计算资源和所述第二计算资源,确定所述移动终端的多个中央处理单元cpu的配置策略;以及利用所述配置策略中分配给所述目标应用程序的至少一个cpu对应的计算资源运行所述预设内部运行场景。

所述处理器732是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器733内的软件程序和/或模块,以及调用存储在存储器733内的数据,执行智能手机的各种功能和处理数据,从而对智能手机进行整体监控。可选的,处理器732可包括一个或多个处理单元;优选的,处理器732可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,所述调制解调处理器也可以不集成到处理器732中。该处理器732例如可以是中央处理器(centralprocessingunit,cpu),通用处理器,数字信号处理器(digitalsignalprocessor,dsp),专用集成电路(application-specificintegratedcircuit,asic),现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。

所述存储器733可用于存储软件程序以及模块,处理器732通过运行存储在存储器733的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器733可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据智能手机的使用所创建的数据等。此外,存储器733可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。该存储器733例如可以是随机存取存储器(randomaccessmemory,ram)、闪存、只读存储器(readonlymemory,rom)、可擦除可编程只读存储器(erasableprogrammablerom,eprom)、电可擦可编程只读存储器(electricallyeprom,eeprom)、寄存器、硬盘、移动硬盘、只读光盘(cd-rom)或者本领域熟知的任何其它形式的存储介质。

本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如所述方法实施例中记载的任一方法的部分或全部步骤,所述计算机包括移动终端。

本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如所述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,所述计算机包括移动终端。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在所述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解所述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取器(英文:randomaccessmemory,简称:ram)、磁盘或光盘等。

以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1