CN109918193A - 一种资源分配方法及终端设备 - Google Patents

一种资源分配方法及终端设备 Download PDF

Info

Publication number
CN109918193A
CN109918193A CN201910028451.9A CN201910028451A CN109918193A CN 109918193 A CN109918193 A CN 109918193A CN 201910028451 A CN201910028451 A CN 201910028451A CN 109918193 A CN109918193 A CN 109918193A
Authority
CN
China
Prior art keywords
application
control group
added
terminal device
distribution priority
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
Application number
CN201910028451.9A
Other languages
English (en)
Inventor
荣乾锋
彭明明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN201910028451.9A priority Critical patent/CN109918193A/zh
Publication of CN109918193A publication Critical patent/CN109918193A/zh
Pending legal-status Critical Current

Links

Abstract

本发明实施例提供一种资源分配方法及终端设备,应用于通信技术领域,以解决用户迫切需求的应用由于无法获得内存资源而不能正常运行的问题。具体的,本方案包括:在终端设备中的M个应用申请资源的情况下,获取该M个应用中每个应用的目标信息,M为大于或等于2的整数;根据每个应用的目标信息,确定每个应用的分配优先级;按照每个应用的分配优先级由高到低的顺序,分别为每个应用分配资源;其中,一个应用的目标信息包括以下至少一项:一个应用的使用时长、一个应用的用户标识,一个应用的使用时长为终端设备最近一次在前台持续运行一个应用的时长。本方案具体用于终端设备为应用分配资源的过程中。

Description

一种资源分配方法及终端设备
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种资源分配方法及终端设备。
背景技术
随着通信技术的发展,手机、平板电脑等终端设备的智能化程度不断提高,终端设备中运行的应用程序对内存资源的需求越来越大。
具体的,在终端设备中的多个应用程序同时申请内存资源时,终端设备可以分别为这些应用程序分配内存资源。其中,在当前终端设备中的可分配内存资源较少的情况下,终端设备可能只会为这些应用程序中的部分应有程序分配资源,如此,可能导致终端设备未对用户迫切需求的某些应用分配资源,从而导致用户迫切需求的这些应用由于无法获得内存资源而不能正常运行。
发明内容
本发明实施例提供一种资源分配方法及终端设备,以解决用户迫切需求的应用由于无法获得内存资源而不能正常运行的问题。
为了解决上述技术问题,本发明实施例是这样实现的:
第一方面,本发明实施例提供一种资源分配方法,该方法包括:在终端设备中的M个应用申请资源的情况下,获取该M个应用中每个应用的目标信息,M为大于或等于2的整数;根据每个应用的目标信息,确定每个应用的分配优先级;按照每个应用的分配优先级由高到低的顺序,分别为每个应用分配资源;其中,一个应用的目标信息包括以下至少一项:一个应用的使用时长、一个应用的用户标识,一个应用的使用时长为终端设备最近一次在前台持续运行一个应用的时长。
第二方面,本发明实施例还提供了一种终端设备,该终端设备包括:获取模块、确定模块和分配模块;获取模块,用于在终端设备中的M个应用申请资源的情况下,获取该M个应用中每个应用的目标信息,M为大于或等于2的整数;确定模块,用于根据获取模块获取的每个应用的目标信息,确定每个应用的分配优先级;分配模块,用于按照确定模块确定的每个应用的分配优先级由高到低的顺序,分别为每个应用分配资源;其中,一个应用的目标信息包括以下至少一项:一个应用的使用时长、一个应用的用户标识,一个应用的使用时长为终端设备最近一次在前台持续运行一个应用的时长。
第三方面,本发明实施例提供了一种终端设备,包括处理器、存储器及存储在该存储器上并可在该处理器上运行的计算机程序,该计算机程序被该处理器执行时实现如第一方面所述的资源分配方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现如第一方面所述的资源分配方法的步骤。
在本发明实施例中,在终端设备中的M个应用申请资源的情况下,可以获取该M个应用中每个应用的目标信息,M为大于或等于2的整数;并根据每个应用的目标信息,确定每个应用的分配优先级;再按照每个应用的分配优先级由高到低的顺序,分别为每个应用分配资源;其中,一个应用的目标信息包括以下至少一项:一个应用的使用时长、一个应用的用户标识,一个应用的使用时长为终端设备最近一次在前台持续运行一个应用的时长。基于本方案,由于一个应用的使用时长和用户标识,可以反映该应用对于用户的重要程度,即用户对该应用需求的迫切程度,而该M个应用中每个应用的分配优先级为根据每个应用的目标信息确定得到的,因此一个应用的分配优先级可以反映用户对该应用需求的迫切程度。从而,终端设备按照每个应用的分配优先级由高到低的顺序分别为每个应用分配资源,使得该M个应用中用户迫切需求的应用可以优先获取资源而正常运行,解决了这些应用卡顿、甚至不能运行的问题。
附图说明
图1为本发明实施例提供的一种可能的安卓操作系统的架构示意图;
图2为本发明实施例提供的资源分配方法的流程示意图之一;
图3为本发明实施例提供的资源分配方法的流程示意图之二;
图4为本发明实施例提供的终端设备显示的内容的示意图之一;
图5为本发明实施例提供的至少两个控制组的结构图示意图之一;
图6为本发明实施例提供的至少两个控制组的结构图示意图之二;
图7为本发明实施例提供的终端设备显示的内容的示意图之二;
图8为本发明实施例提供的可能的终端设备的结构示意图之一;
图9为本发明实施例提供的可能的终端设备的结构示意图之二;
图10为本发明实施例提供的一种终端设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本文中的“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。“多个”是指两个或多于两个。
需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本发明的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一控制组和第二控制组等是用于区别不同的控制组,而不是用于描述控制组的特定顺序。
本发明实施例提供的资源分配方法及终端设备,在终端设备中的M个应用申请资源的情况下,可以获取M个应用中每个应用的目标信息,M为大于或等于2的整数;并根据每个应用的目标信息,确定每个应用的分配优先级;再按照每个应用的分配优先级由高到低的顺序,分别为每个应用分配资源;其中,一个应用的目标信息包括以下至少一项:一个应用的使用时长、一个应用的用户标识,一个应用的使用时长为终端设备最近一次在前台持续运行一个应用的时长。基于本方案,由于一个应用的使用时长和用户标识,可以反映该应用对于用户的重要程度,即用户对该应用需求的迫切程度,而M个应用中每个应用的分配优先级为根据每个应用的目标信息确定得到的,因此一个应用的分配优先级可以反映用户对该应用需求的迫切程度。从而,终端设备按照每个应用的分配优先级由高到低的顺序分别为每个应用分配资源,使得M个应用中用户迫切需求的应用可以优先获取资源而正常运行,解决了这些应用卡顿、甚至不能运行的问题。
需要说明的是,本发明实施例提供的资源分配方法,执行主体可以为终端设备,或者,该终端设备的中央处理器(Central Processing Unit,CPU),或者该终端设备中的用于执行资源分配方法的控制模块。本发明实施例中以终端设备执行资源分配方法为例,说明本发明实施例提供的资源分配方法。
本发明实施例中的终端设备可以为具有操作系统的终端设备。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本发明实施例不作具体限定。
下面以安卓操作系统为例,介绍一下本发明实施例提供的资源分配方法所应用的软件环境。
如图1所示,为本发明实施例提供的一种可能的安卓操作系统的架构示意图。在图1中,安卓操作系统的架构包括4层,分别为:应用程序层、应用程序框架层、系统运行库层和内核层(具体可以为Linux内核层)。
具体的,本发明实施例中,终端设备中的内核层可以为Linux内核层。
其中,应用程序层包括安卓操作系统中的各个应用程序(包括系统应用程序和第三方应用程序)。
应用程序框架层是应用程序的框架,开发人员可以在遵守应用程序的框架的开发原则的情况下,基于应用程序框架层开发一些应用程序。例如,系统设置应用、系统聊天应用和系统相机应用等应用程序。第三方设置应用、第三方相机应用和第三方聊天应用等应用程序。
系统运行库层包括库(也称为系统库)和安卓操作系统运行环境。库主要为安卓操作系统提供其所需的各类资源。安卓操作系统运行环境用于为安卓操作系统提供软件环境。
内核层是安卓操作系统的操作系统层,属于安卓操作系统软件层次的最底层。内核层基于Linux内核为安卓操作系统提供核心系统服务和与硬件相关的驱动程序。
以安卓操作系统为例,本发明实施例中,开发人员可以基于上述如图1所示的安卓操作系统的系统架构,开发实现本发明实施例提供的资源分配方法的软件程序,从而使得该资源分配方法可以基于如图1所示的安卓操作系统运行。即处理器或者终端设备可以通过在安卓操作系统中运行该软件程序实现本发明实施例提供的资源分配方法。
需要说明的是,为了描述方便,本发明实施例以下所描述的应用即为应用程序,不同的名称所指示的实质相同,以下不再赘述。
下面结合图2所示的资源分配方法的流程图对本发明实施例提供的资源分配方法进行详细描述。其中,虽然在方法流程图中示出了本发明实施例提供的资源分配方法的逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。例如,图2中示出的资源分配方法可以包括S201-S203:
S201、在终端设备中的M个应用申请资源的情况下,终端设备获取M个应用中每个应用的目标信息,M为大于或等于2的整数。
其中,一个应用的目标信息可以包括以下至少一项:一个应用的使用时长、一个应用的用户标识,一个应用的使用时长为终端设备最近一次在前台持续运行一个应用的时长。
具体的,本发明实施例提供的第一种应用场景中,一个应用的目标信息为一个应用的使用时长。本发明实施例提供的第二种应用场景中,一个应用的目标信息为一个应用的用户标识。本发明实施例提供的第三种应用场景中,一个应用的目标信息为一个应用的使用时长和一个应用的用户标识。
具体的,本发明实施例提供的一个应用的目标信息可以为目标信息1、目标信息2或目标信息3。
其中,一个应用的目标信息1为一个应用的使用时长;一个应用的目标信息2为一个应用的用户标识;一个应用的目标信息3为一个应用的使用时长和一个应用的用户标识。
可以理解的是,本发明实施例中,终端设备最近一次在前台持续运行一个应用的时长,指的是终端设备打开该应用到关闭该应用的时长。其中,终端设备打开一个应用可以为终端设备将该应用的进程由后台切换至前台运行,终端设备关闭一个应用可以为该终端设备将该应用的进程由前台切换至前台运行。
可选的,本发明实施例中,一个应用的用户标识可以为第一标识或第二标识。其中,第一用户标识为用户配置的,第二用户标识为终端设备的系统默认的。
可以理解的是,本发明实施例中,用户标识为第一标识的应用对用户的重要程度,比用户标识为第二标识的应用对用户的重要程度高。其中,用户通常迫切需求终端设备为重要程度较高的应用优先分配资源。
可选的,本发明实施例提供的资源分配方法中,终端设备中的资源指的是内存资源,如该终端设备中的随机存取存储器(Random Access Memory,RAM)中的内存资源。
可以理解的是,终端设备运行一个应用时,该应用需要足够的内存资源以支持该应用的进程的正常运行。
其中,在M个应用申请资源的过程中,该M个应用中的不同应用可能在不同的时刻申请资源。
可选的,在M个应用申请资源的时刻之间的差值小于或等于一定阈值的情况下,终端设备可以分别获取M个应用中每个应用的目标信息,以支持后续为该M个应用分配资源。
S202、终端设备根据每个应用的目标信息,确定每个应用的分配优先级。
可选的,本发明实施例中的第一种应用场景中,在一个应用的目标信息包括使用时长的情况下,使用时长大的应用的分配优先级高于使用时长小的应用的分配优先级。
可以理解的是,本发明实施例中,应用的使用时长越大,说明该应用对用户的重要程度越高,用户越倾向于使用该应用。
具体的,终端设备执行上述S202时,可以按照M个应用中的每个应用的使用时长由大到小的顺序,排列M个应用中的每个应用。其中,终端设备确定得到M个应用中每个应用的排列顺序,即得到该M个应用中每个应用的分配优先级的顺序。
可选的,本发明实施例中的第二种应用场景中,在一个应用的目标信息包括用户标识的情况下,用户标识为第一用户标识的应用的分配优先级高于用户标识为第二用户标识的应用的分配优先级。其中,第一用户标识为用户配置的,第二用户标识为终端设备的系统默认的。
具体的,终端设备执行上述S202时,可以按照M个应用中的每个应用的用户标识由第一标识到第二标识的顺序,排列M个应用中的每个应用。其中,终端设备确定得到M个应用中每个应用的排列顺序,即得到该M个应用中每个应用的分配优先级的顺序。
可选的,本发明实施例提供的第三种应用场景中,在一个应用的目标信息包括用户标识和使用时长的情况下,用户标识为第一用户标识的应用的分配优先级高于用户标识为第二用户标识的应用的分配优先级;且对于用户标识相同的应用,使用时长大的应用的分配优先级高于使用时长小的应用的分配优先级。
具体的,终端设备执行上述S202时,可以先按照M个应用中的每个应用的用户标识由第一标识到第二标识的顺序,排列M个应用中的每个应用。随后,终端设备对M个应用中的用户标识相同的应用,按照使用时长由高到低的顺序排序。从而,终端设备得到M个应用中的每个应用的排列顺序,以得到M个应用中的每个应用的分配优先级。
或者,终端设备执行上述S202时,可以先按照M个应用中的每个应用的使用时长,排列M个应用中的每个应用。随后,终端设备再按照用户标识由第一标识到第二标识的顺序,排列该M个应用中的每个应用。从而,终端设备得到M个应用中的每个应用的排列顺序,以得到M个应用中的每个应用的分配优先级。
需要强调的是,即使一个应用的使用时长比另一个应用的使用时长低,只要该一个应用的用户标识为第一标识、该另一个应用的用户标识为第二标识,则该一个应用的分配优先级高于该另一个应用的分配优先级。
具体的,本发明实施例中,应用的分配优先级越高,说明该应用对用户的重要程度越高。如此,用户需求终端设备优先为分配优先级较高的应用分配资源。即终端设备可以为更符合用户需求的应用优先分配资源。
S203、终端设备按照每个应用的分配优先级由高到低的顺序,分别为每个应用分配资源。
具体的,终端设备可以优先为分配优先级较高的应用分配资源,再为分配优先级较低的应用分配资源。其中,在终端设备的空闲资源较少的情况下,上述M个应用中分配优先级较低的应用可能分配不到资源。
需要说明的是,本发明实施例提供的资源分配方法,在终端设备中的M个应用申请资源的情况下,可以获取M个应用中每个应用的目标信息,M为大于或等于2的整数;并根据每个应用的目标信息,确定每个应用的分配优先级;再按照每个应用的分配优先级由高到低的顺序,分别为每个应用分配资源;其中,一个应用的目标信息包括以下至少一项:一个应用的使用时长、一个应用的用户标识,一个应用的使用时长为终端设备最近一次在前台持续运行一个应用的时长。基于本方案,由于一个应用的使用时长和用户标识,可以反映该应用对于用户的重要程度,即用户对该应用需求的迫切程度,而M个应用中每个应用的分配优先级为根据每个应用的目标信息确定得到的,因此一个应用的分配优先级可以反映用户对该应用需求的迫切程度。从而,终端设备按照每个应用的分配优先级由高到低的顺序分别为每个应用分配资源,使得M个应用中用户迫切需求的应用可以优先获取资源而正常运行,解决了这些应用卡顿、甚至不能运行的问题。
在一种可能的实现方式中,本发明实施例提供的资源分配方法,在终端设备当前的空闲容量较少的情况下,终端设备可以释放当前已经分配的部分资源。示例性的,如图3所示,本发明实施例提供的资源分配方法,在上述S203之后还可以包括S204:
S204、在目标资源容量小于或等于第一资源阈值的情况下,终端设备按照M个应用中每个应用的分配优先级由低到高的顺序,释放M个应用中的应用所使用的资源。
其中,目标资源容量为终端设备当前的空闲资源容量。
可以理解的是,终端设备释放一个应用所使用的资源,使得这些被释放的资源变为空闲资源,即可以重新分配给其他应用的资源。也即终端设备回收了该应用所使用的资源。
其中,上述第一目标资源容量小于或等于第一资源阈值,说明终端设备的空闲资源较少。具体的,本发明实施例这里不限制第一资源阈值的具体取值,可以为相关技术人员根据经验设置的任一可实现的数值。
可以理解的是,终端设备可以优先释放M个应用中分配优先级较低的应用所使用的资源,再释放M个应用中分配优先级较高的应用所使用的资源。如此,终端设备可以根据目标资源容量的具体数值,确定释放M个应用中被释放资源的应用的个数。此时,在终端设备需要释放资源的应用的个数较少时,M个应用中分配优先级较高的应用还可以继续运行。
其中,终端设备释放一个应用所使用的资源时,可以释放该应用的部分资源,也可以释放该应用的全部资源(即关闭该应用的进程)。
需要说明的是,本发明实施例中,在终端设备目标资源容量小于或等于第一资源阈值的情况下,由于终端设备可以按照M个应用中每个应用的分配优先级由低到高的顺序,释放M个应用中的应用所使用的资源,因此使得卡顿、甚至关闭进程的应用为对用户的重要程度较低的应用,而可以继续运行对用户的重要程度较高的应用。从而,有利于提高终端设备正常运行用户迫切需求的应用的概率。
在一种可能的实现方式中,本发明实施例提供的资源分配方法,终端设备中包括至少两个控制组,每个控制组对应一个数值,一个控制组对应的数值为允许一个控制组存储的应用标识的最大数量。
其中,本发明实施例中,一个应用的应用标识可以为唯一标识该应用的名称或图标等。
需要说明的是,本发明实施例提供的控制组(Control groups,Cgroups)为Linux内核提供的一种可以限制、记录、隔离进程组(Process groups)所使用的资源的机制。其中,该资源可以为终端设备中CPU的资源、只读存储器(Read-Only Memory,ROM)的资源或RAM的资源等。上述进程组中包括终端设备运行的应用的进程。
可以理解的是,本发明实施例中,一个控制组可以管理其存储的应用标识指示的应用的进程,如为该应用分配资源,或者释放该应用所使用的资源。
具体的,一个控制组可以作为一个容器,如存储应用的应用标识的容器。或者,一个控制组还可以作为向用户提供的一个文件夹,即存储应用标识的文件夹。
可以理解的是,本发明实施例中,至少两个控制组可以分为多个层级。其中,层级较高的控制组存储的应用标识指示的应用的分配优先级高于层级较低的控制组中存储的应用标识指示的应用的分配优先级。
具体的,每个控制组中的应用标识是按照应用标识指示的应用的分配优先级由高到低的顺序排列的。
可以理解的是,终端设备在将一个应用标识向至少两个控制组中的一个控制组中添加的过程中,终端设备可以按照至少两个控制组中每个控制组的层级由高到低的顺序,依次判断每个控制组是否可以存储该应用标识。
可选的,本发明实施例中,终端设备中的至少两个控制组中的每个控制组还用于存储一个应用的使用时长和用户标识。具体的,终端设备针对一个应用,在一个控制组中存储的该应用的应用标识、该应用的使用时长和该应用的用户标识之间关联的。如此,终端设备从一个控制组中查找一个应用的应用标识时,还可以获取得到与该应用标识关联的使用时长和用户标识,即获取得到该应用的使用时长和用户标识。
具体的,本发明实施例中,终端设备可以在至少两个控制组中添加应用的应用标识。示例性的,本发明实施例提供的资源分配方法还包括S206-S208,如在上述S203之后还可以包括S206-S208:
S206、终端设备获取待添加应用的目标信息。
可以理解的是,终端设备可以同时获取得到待添加应用的应用标识和目标信息。
其中,本发明实施例的第一种应用场景中,待添加应用的目标信息为待添加应用的使用时长。本发明实施例的第二种应用场景中,待添加应用的目标信息为待添加应用的用户标识。本发明实施例的第二种应用场景中,待添加应用的目标信息包括待添加应用的使用时长和用户标识。
可选的,本发明实施例中,在终端设备安装一个新的应用时,终端设备可以默认地向至少两个控制组中的一个控制组中添加该应用的应用标识(如待添加应用的应用标识)。此时,终端设备可以获取该应用的目标信息。其中,该应用的用户标识可以为第二用户标识,说明该应用的应用标识为终端设备默认地向至少两个控制组中的一个控制组中添加的。当然,终端设备在开机未运行过该应用的情况下,该应用的使用时长可以为零。随着终端设备在前台持续运行该应用的时长的变化,终端设备可以更新该控制组中存储的该应用的使用时长。
可选的,本发明实施例中,用户可以手动触发终端设备向至少两个控制组中的一个控制组中添加一个应用的应用标识(如待添加应用的应用标识)。具体的,终端设备可以提供的一个添加控件,用于支持用户将一个应用的应用标识添加到至少两个控制组中的一个控制组中。
具体的,在用户触发终端设备将一个应用的应用标识向至少两个控制组中的一个控制组中添加的情况下,终端设备可以获取该应用的目标信息。其中,该应用的用户标识可以为第一用户标识,说明该应用的应用标识为用户手动触发终端设备向至少两个控制组中的一个控制组中添加的。当然,终端设备在开机未运行过该应用的情况下,该应用的使用时长可以为零。随着终端设备在前台持续运行该应用的时长的变化,终端设备可以更新该控制组中存储的该应用的使用时长。
示例性的,终端设备中的添加控件可以为终端设备提供的一个文件夹图标,该添加控件对应于终端设备中的至少两个控制组。其中,该文件夹图标可以显示在终端设备的桌面上,用户可以通过将一个应用的图标拖动至该文件夹图标所在的区域,如拖动至该文件夹图标上,以触发终端设备将该应用的应用标识添加到至少两个控制组中的一个控制组中。具体的,在用户将一个应用的图标拖动至该文件夹图标所在的区域之后,终端设备可以控制该应用的图标退回至拖动前显示的位置。
可选的,终端设备将该应用的图标拖动至该文件夹图标上、并保持一定时长,以触发终端设备将该应用的应用标识添加到至少两个控制组中的一个控制组中。
示例性的,如图4所示,为本发明实施例中提供的一种终端设备显示的内容的示意图。其中,图4中(a)示出的终端设备的界面可以为桌面,该界面中包括的应用A的图标41可以为待添加应用的应用图标。文件夹的图标42可以为添加控件,该文件夹的图标42对应于终端设备中的至少两个控制组。随后,用户将图4中(b)示出界面中应用A的图标41拖动至文件夹的图标42上,便可以触发终端设备向至少两个控制组中的一个控制组中添加应用A的应用标识。当然,终端设备向至少两个控制组中的一个控制组中添加应用A的应用标识时,还可以向该控制组添加与该应用标识关联的使用时长和用户标识,即添加应用A的使用时长和用户标识。
可以理解的是,在用户触发终端设备将待添加应用添加到至少两个控制组中的一个控制组中时,该待添加应用可以为应用标识未添加到任意一个控制组的应用。或者待添加应用可以为应用标识已经存储在一个控制组中,但是该控制组中的存储的该应用的用户标识为第二用户标识。此时,用户触发终端设备将待添加应用的应用标识添加到一个控制组时,该应用的用户标识可以由第二用户标识更新为第一用户标识。
S207、终端设备根据待添加应用的目标信息,确定待添加应用的分配优先级。
其中,待添加应用的使用时长越大,待添加应用的分配优先级越高。待添加应用的用户标识为第一用户标识时分配优先级较高、待添加应用的用户标识为第二用户标识时分配优先级较低。
S208、终端设备按照待添加应用的分配优先级,将待添加应用的应用标识添加到至少两个控制组中的一个控制组。
可以理解的是,本发明实施例中,终端设备按照待添加应用的分配优先级,可以从至少一个控制组中确定出存储的应用标识指示的应用的分配优先级低于待添加应用的分配优先级的一个控制组,并将该待添加应用的应用标识添加至该控制组中。其中,在该控制组还未存满应用标识的情况下,终端设备可以直接将待添加应用的应用标识添加至该控制组中。在该控制组还已经存满应用标识的情况下,终端设备可以先将该控制组中分配优先级最低的移出该控制组,再将该待添加应用的应用标识添加至该控制组中。
具体的,上述实施例中的S208可以通过S208a、S208b或S208c实现:
S208a、在至少两个控制组中的第一控制组中存储的应用标识的数量小于第一阈值的情况下,终端设备按照待添加应用的分配优先级,在第一控制组中存储待添加应用的应用标识。
其中,第一阈值为允许第一控制组存储的应用标识的最大数量。
可以理解的是,本发明实施例中,第一控制组中存储的应用标识的数量小于第一阈值,说明第一控制组中还未存满应用标识,存在可以存储应用标识的空闲位置。此时,终端设备可以直接将待添加应用的应用标识添加至第一控制组中。具体的,终端设备可以比较待添加应用的分配优先级与当前第一控制组中的应用标识指示的应用(记为第一控制组对应的应用)的分配优先级,并将这些应用按照分配优先级由高到低的顺序排列,以将排列后的待添加应用的应用标识添加至第一控制组中。
具体的,本发明实施例中,终端设备比较两个应用的分配优先级,可以为终端设备比较这两个应用的使用时长和/或用户标识。
S208b、在第一控制组中存储的应用标识的数量等于第一阈值、且待添加应用的分配优先级高于目标应用的分配优先级的情况下,终端设备将目标应用的应用标识更新为待添加应用的应用标识,目标应用为第一控制组中存储的应用标识指示的应用中分配优先级最低的应用。
可以理解的是,本发明实施例中,第一控制组中存储的应用标识的数量等于第一阈值,说明第一控制组中已经存满了应用标识。此时,终端设备可以先根据待添加应用和当前第一控制组对应的应用中每个应用的分配优先级由高到低的顺序、排列这些应用的应用标识。其中,终端设备可以将这些应用中的分配优先级最低的目标应用的应用标识,即这些应用的应用标识中排列顺序最高的应用标识移出第一控制组,并将待添加应用的应用标识添加至第一控制组中。也就是说,终端设备将第一控制组中的目标应用的应用标识更新为待添加应用的应用标识。
S208c、在第一控制组中存储的应用标识的数量等于第一阈值、且待添加应用的分配优先级低于目标应用的分配优先级,以及至少两个控制组中的第二控制组中存储的应用标识的数量小于第二阈值的情况下,终端设备按照待添加应用的分配优先级,在第二控制组中存储待添加应用的应用标识。
其中,第二阈值为允许第二控制组存储的应用标识的最大数量;第一控制组对应的应用的分配优先级均高于第二控制组对应的应用的分配优先级。
可以理解的是,本发明实施例中,在第一控制组中已经存满了应用标识、且待添加应用的分配优先级低于目标应用的分配优先级,说明待添加应用的应用标识不能添加至第一控制组。此时,终端设备可以判断至少两个控制组中层级比第一控制组的低的哪个控制组可以存储待添加应用的应用标识。具体的,终端设备可以判断至少两个控制组中第一控制组的下一层级的控制组是否能存储待添加应用的应用标识。
类似的,终端判断至少两个控制组中的每个控制组是否能存储待添加应用的应用标识的步骤,可以参照上述实施例中对将待添加应用的应用标识添加至第一控制组的相关描述,本发明实施例这里不再赘述。
示例性的,在终端设备将待添加应用的应用标识添加至第二控制组时,若第二控制组中的应用标识的数量小于第二阈值,则终端设备可以直接待添加应用的应用标识添加至第二控制组中。若第二控制组中的应用标识的数量等于第二阈值、且待添加应用的分配优先级高于当前第二控制组对应的所有应用中分配优先级最低的应用的分配优先级,则终端设备将待添加应用的应用标识添加至第二控制组中。
另外,在第二控制组中的应用标识的数量等于第二阈值、且待添加应用的分配优先级低于当前第二控制组对应的所有应用的分配优先级,则终端设备可以向至少两个控制组中第二控制组的下一级控制组中添加待添加应用的应用标识。
可选的,终端设备中至少两个控制组中层级高的控制组对应的阈值大于层级低的控制组对应的阈值。即层级高的控制组存储最大允许存储的应用标识的数量大于层级低的控制组存储最大允许存储的应用标识的数量。
示例性的,如图5所示,为本发明实施例提供的至少两个控制组的结构示意图。图5示出的至少两个控制组中包括控制组51、控制组52和控制组53。其中,控制组51、控制组52、控制组53的层级依次降低,该控制组52为控制组51的下一级控制组、该控制组53为控制组52的下一级控制组。具体的,控制组51对应的数值可以为2,控制组52对应的数值可以为4,该控制组53对应的数值可以不作限制。即只要向控制组53中添加应用标识,该控制组53中便可以存储该应用标识。
具体的,终端设备向至少两个控制组中的一个控制组中添加待添加应用的应用标识时,可以依次判断控制组51、控制组52和控制组53中是否能存储该添加待添加应用的应用标识。例如,上述第一控制组可以为控制组51、第一阈值可以为2;第二控制组可以为控制组52、第二阈值可以为4。
需要说明的是,本发明实施例中,由于终端设备中包括至少两个控制组,每个控制组均可以用于存储应用标识,因此终端设备可以获取待添加应用的目标信息、并根据待添加应用的目标信息,确定待添加应用的分配优先级,再按照待添加应用的分配优先级,将待添加应用的应用标识添加到至少两个控制组中的一个控制组。从而,终端设备后续可以从一个控制组中查找到待添加应用的应用标识,进而根据待添加应用的应用标识获取待添加应用的目标信息,以根据待添加应用的目标信息确定待添加应用的分配优先级。进而,可以实现终端设备根据待添加应用的分配优先级,为待添加应用分配资源。
在一种可能的实现方式中,本发明实施例提供的资源分配方法,至少两个控制组包括根控制组(Root cgroup)和至少两个父控制组,至少两个父控制组中的不同父控制组用于存储不同应用类型应用的应用标识。
可以理解的是,本发明实施例中,至少两个控制组可以为树状结构。其中,根控制组为该树状结构中层级最高的控制组,即至少两个控制组中层级最高的控制组;至少两个父控制组为该树状结构中层级次高的控制组,即至少两个控制组中层级低于根控制组的控制组。其中,至少两个父控制组中的不同控制组的层级可以相同。进一步的,上述至少两个父控制组中的每个控制组还可以对应有层级更低的子控制组(如叶子控制组)。
一般而言,根控制组、父控制组、叶子控制组分别对应的数值可以依次增大。示例性的,根控制组对应的数值为2,父控制组对应的数值为4,叶子控制组对应的数值为较大的数值(如200)。即只要向叶子控制组中添加应用标识,该叶子控制组中便可以存储该应用标识。
可选的,本发明实施例中,根控制组可以对应一种类型的应用。
可以理解的是,为了降低用户的使用难度,终端设备可以自动为所有应用打标签并归类。应用归类例如:常用、生活(包括购物、健身、交友等)、娱乐(包括游戏、影音等)、其他等。此时,至少两个控制组中的每个控制组可以为终端设备分别针对每个类别创建的。
示例性的,如图6所示,为本发明实施例提供的至少两个控制组的另一种结构示意图。图6示出的至少两个控制组包括控制组61~控制组67。其中,控制组61为至少两个控制组中的根控制组,控制组62、控制组63、控制组64为控制组61的父控制组,控制组65为控制组62的子控制组,控制组66和控制组67为控制组63的子控制组。即控制组65、控制组66和控制组67为至少两个控制组中的叶子控制组。
其中,控制组61中存储的应用标识可以为应用R1和应用R2,对应的应用类型为常用;控制组62中存储的应用标识可以为应用A1、应用A2、应用A3和应用A4,对应的应用类型为生活;控制组63中存储的应用标识可以为应用B1、应用B2、应用B3和应用B4,对应的应用类型为娱乐;控制组64中存储的应用标识可以为应用C1、应用C2等,对应的应用类型为其他;控制组65中存储的应用标识可以为应用D1、应用D2等,对应的应用类型为购物;控制组66中存储的应用标识可以为应用E1、应用E2等,对应的应用类型为游戏;控制组67中存储的应用标识可以为应用F1、应用F2等,对应的应用类型为影音。
可选的,本发明实施例中,终端设备可以提供的至少两个控制组对应的文件夹(如上述文件夹的图标42指示的文件夹)可以显示在桌面上,该文件夹中可以提供各个控制组对应的子文件夹。其中,用户对该文件夹的图标的输入之后,终端设备可以显示这些子文件夹。
具体的。终端设备的显示界面手机桌面提供一个应用文件夹的形式呈现给用户,用户可以向该文件夹中添加和删除应用标识,其内部结构自动更新。
示例性的,用户图4示出的文件夹的图标42的输入之后,可以显示如图7中(a)所示的界面,该界面中包括各个文件夹,如常用文件夹、生活文件夹、娱乐文件夹、其他文件夹等。随后,用户对图7中(a)中的任意一个文件夹输入之后,便可以显示如图7中(b)示出的界面,该界面中显示了各个文件夹中包括的应用标识。
可选的,上述实施例中的S208c可以通过S208d实现:
S208d、在第一控制组中存储的应用标识的数量等于第一阈值、且待添加应用的分配优先级低于目标应用的分配优先级,以及至少两个控制组中的第二控制组中存储的应用标识的数量小于第二阈值的情况下,按照待添加应用的分配优先级和待添加应用的应用类型,在第二控制组中存储待添加应用的应用标识。
示例性的,第一控制组可以为至少两个控制组中的根控制组,如图6示出的控制组61;第二控制组可以为至少两个控制组中的一个父控制组,如图6示出的控制组62;此时,待添加应用的应用类型可以为生活。
需要说明的是,本发明实施例中,由于终端设备中的至少两个控制组中包括根控制组和至少两个父控制组,至少两个父控制组中的不同父控制组用于存储不同应用类型应用的应用标识;因此,使得终端设备后续可以按照添加应用的分配优先级和待添加应用的应用类型,向至少两个控制组中添加待添加应用的应用标识。从而,使得终端设备可以对终端设备中的所有应用进行分类和排序,以使得终端设备根据不同应用的应用类型和分类优先级为应用分配资源。
在一种可能的实现方式中,本发明实施例提供的资源分配方法,随着时间的增长,由于终端设备中的各个应用可能多次使用,即多次开启再关闭,因此终端设备可以随着各个应用的使用情况,更新各个应用的使用时长。
具体的,本发明实施例提供的资源分配方法还可以包括S209:
S209、在将第一应用的使用时长更新为第一时长之后的预设时长内,终端设备将目标应用的使用时长由第一时长更新为第二时长。
其中,第二时长为第一时长与衰减数值的乘积,在预设时长内,终端设备未在前台运行过第一应用,衰减数值为小于1的正数。例如,衰减数值的取值为0.25,预设时长为一天。
示例性的,一个应用的使用时长可以记为S。当前一个应用的使用时长S为S1,此后的一天内终端设备未在前台运行过该应用,则终端设备可以将该应用的使用时长更新为S=S1×0.25。
可以理解的是,终端设备在运行的过程中,可以周期地检测终端设备当前在前台持续运行的应用,以实时地更新该应用的使用时长。
示例性的,终端设备打开一个应用的时刻为T1,随后终端设备持续在前台运行该应用一段时间后,关闭该应用的时刻为T2。此时,终端设备可以将该应用的使用时长S更新为S=T2-T1。
可以理解的是,终端设备更新一个应用的使用时长时,可以更新该应用的分配优先级,即更新该应用的应用标识在相应的控制组中的排序。
类似的,终端设备可以实时地检测每个应用的用户标识是否需要更新,如检测终端设备是否正在安装新的应用,或者终端设备是否接收到用户手动触发终端设备添加待添加应用的应用标识的输入。
需要说明的是,本发明实施例中,由于终端设备可以实时地更新每个应用的使用时长,因此使得终端设备可以实时的更新每个应用分配优先级,如更新至少两个控制组中的每个控制组中存储的应用标识的顺序。从而,有利于提高终端设备后续获取的一个应用的分配优先级的准确性,有利于终端设备根据该应用的分配优先级为该应用分配资源的准确性。
在一种可能的实现方式中,本发明实施例提供的资源分配方法,在终端设备中的空闲资源较多的情况下,终端设备在运行部分应用时,还可以预加载另一部分应用。
具体的,本发明实施例提供的资源分配方法,还可以包括S210:
S210、在目标资源容量大于或等于第二资源阈值的情况下,终端设备预加载根控制组中的至少一个应用标识指示的应用,第二资源阈值大于第一资源阈值。
其中,目标资源容量大于或等于第二资源阈值,说明终端设备中的空闲资源较多。此时,终端设备预加载根控制组中的至少一个应用标识指示的应用,可以使得后续终端设备可以顺畅地运行这些应用的进程。
可选的,在终端设备中的空闲资源较多时,终端设备可以预加载根控制组中的所有应用标识指示的应用。
另外,本发明实施例提供的资源分配方法,还可以包括S211:
S211、在目标资源容量大于或等于第三资源阈值的情况下,终端设备预加载第二应用,第二应用的应用类型与第三应用的应用类型相同,且第二应用的分配优先级高于第三应用的分配优先级,第三应用为终端设备前台运行的应用。
可以理解的是,应用类型相同的第二应用和第三应用的应用标识可以存储在该应用类型对应的控制组中。具体的,终端设备在运行一个应用时,可以预加载该应用的应用标识所在的控制组中、排列顺序最靠前的应用标识指示的应用(即控制组对应的应用中分配优先级最高的应用)。
其中,目标资源容量大于或等于第三资源阈值,说明终端设备中的空闲资源较多。此时,终端设备预加载根控制组中的至少一个应用标识指示的应用,可以使得后续终端设备可以顺畅地运行这些应用的进程。
具体的,上述第三资源阈值和上述第二资源阈值相同或不同,如第三资源阈值可以大于第二资源阈值。
需要说明的是,本发明实施例中,终端设备可以在终端设备中的空闲资源较多的情况下,预加载分配优先级较高的部分应用,如预加载根控制组中的应用标识指示的应用,或者预加载与当前运行应用的应用类型相同的分配优先级最高的应用。如此,有利于终端设备后续可以顺畅地运行已经预加载的部分分配优先级较高的应用,有利于提高用户使用这些应用时的用户体验。
在一种可能的实现方式中,本发明实施例提供的资源分配方法,每个控制组对应一个分配阈值。
具体的,本发明实施例提供的S203可以通过S212实现:
S212、终端设备根据每个应用的分配阈值,按照每个应用的分配优先级由高到低的顺序,分别为每个应用分配资源。
其中,一个应用的分配阈值为一个应用被分配的资源的最大值,一个应用的分配阈值为一个应用的应用标识所在的控制组对应的分配阈值。
可选的,本发明实施例中,至少两个控制组中层级高的控制组对应的分配阈值大于层级低的控制组对应的分配阈值。
示例性的,至少两个控制组中的根控制组对应的分配阈值为不限制,如该分配阈值为终端设备中的所有可分配资源的容量总和的数值。此时,终端设备为根控制组中的应用标识指示的应用分配资源时,这些应用请求多少资源,终端设备便为这些应用分配多少资源。
另外,至少两个控制组中父控制组对应的分配阈值大于其子控制组对应的分配阈值。
需要说明的是,本发明实施例中,由于终端设备中的至少两个控组中的每个控制组对应一个分配阈值,因此终端设备可以根据每个应用的分配阈值,按照每个应用的分配优先级由高到低的顺序,分别为每个应用分配资源。从而,有利于终端设备进一步按照各个应用的重要程度为各个应用合理的分配资源,有利于终端设备的资源的合理分配。
在一种可能的实现方式中,本发明实施例提供的资源分配方法,还可以包括S213:
S213、在终端设备卸载第四应用的情况下,终端设备删除至少两个控制组中存储的第四应用的应用标识。
可以理解的是,终端设备删除至少两个控制组中存储的第四应用的应用标识时,还可以删除至少两个控制组中存储的第四应用的使用时长和用户标识,即删除与第四应用的应用标识关联的使用时长和用户标识。
需要说明的是,本发明实施例中,由于终端设备可以在卸载一个应用时删除至少两个控制组中存储的该应用的应用标识,因此使得该应用标识不再占用至少两个控制组中的存储位置,终端设备也不需要再对该应用标识在相应的控制组中进行排序。如此,有利于减少后续终端设备更新各个应用的应用标识在至少两个控制组中的位置的操作。
如图8所示,为本发明实施例提供的一种可能的终端设备的结构示意图。图8示出的终端设备80包括:获取模块801、确定模块802和分配模块803;获取模块801,用于在终端设备80中的M个应用申请资源的情况下,获取M个应用中每个应用的目标信息,M为大于或等于2的整数;确定模块802,用于根据获取模块801获取的每个应用的目标信息,确定每个应用的分配优先级;分配模块803,用于按照确定模块802确定的每个应用的分配优先级由高到低的顺序,分别为每个应用分配资源;其中,一个应用的目标信息包括以下至少一项:一个应用的使用时长、一个应用的用户标识,一个应用的使用时长为终端设备80最近一次在前台持续运行一个应用的时长。
可选的,如图9所示,终端设备80还包括:释放模块804;释放模块804,用于分配模块803分别为每个应用分配资源之后,在目标资源容量小于或等于第一资源阈值的情况下,按照M个应用中每个应用的分配优先级由低到高的顺序,释放M个应用中的应用所使用的资源,目标资源容量为终端设备80当前的空闲资源容量。
可选的,在一个应用的目标信息包括使用时长的情况下,使用时长大的应用的分配优先级高于使用时长小的应用的分配优先级;在一个应用的目标信息包括用户标识的情况下,用户标识为第一用户标识的应用的分配优先级高于用户标识为第二用户标识的应用的分配优先级;在一个应用的目标信息包括用户标识和使用时长的情况下,用户标识为第一用户标识的应用的分配优先级高于用户标识为第二用户标识的应用的分配优先级;且对于用户标识相同的应用,使用时长大的应用的分配优先级高于使用时长小的应用的分配优先级;其中,第一用户标识为用户配置的,第二用户标识为终端设备80的系统默认的。
可选的,终端设备80中包括至少两个控制组,每个控制组对应一个数值,一个控制组对应的数值为允许一个控制组存储的应用标识的最大数量;终端设备80还包括:添加模块;获取模块801,还用于获取待添加应用的目标信息;确定模块802,还用于根据获取模块801获取的待添加应用的目标信息,确定待添加应用的分配优先级;添加模块,用于按照确定模块802确定的待添加应用的分配优先级,将获取模块801获取的待添加应用的应用标识添加到至少两个控制组中的一个控制组。
可选的,添加模块,具体用于在至少两个控制组中的第一控制组中存储的应用标识的数量小于第一阈值的情况下,按照待添加应用的分配优先级,在第一控制组中存储待添加应用的应用标识,第一阈值为允许第一控制组存储的应用标识的最大数量;在第一控制组中存储的应用标识的数量等于第一阈值、且待添加应用的分配优先级高于目标应用的分配优先级的情况下,将目标应用的应用标识更新为待添加应用的应用标识,目标应用为第一控制组中存储的应用标识指示的应用中分配优先级最低的应用;在第一控制组中存储的应用标识的数量等于第一阈值、且待添加应用的分配优先级低于目标应用的分配优先级,以及至少两个控制组中的第二控制组中存储的应用标识的数量小于第二阈值的情况下,按照待添加应用的分配优先级,在第二控制组中存储待添加应用的应用标识,第二阈值为允许第二控制组存储的应用标识的最大数量;其中,第一控制组对应的应用的分配优先级均高于第二控制组对应的应用的分配优先级。
可选的,至少两个控制组包括根控制组和至少两个父控制组,至少两个父控制组中的不同父控制组用于存储不同应用类型应用的应用标识;添加模块,具体用于按照待添加应用的分配优先级和待添加应用的应用类型,在第二控制组中存储待添加应用的应用标识。
可选的,终端设备80还包括:更新模块;更新模块,用于在将第一应用的使用时长更新为第一时长之后的预设时长内,将目标应用的使用时长由第一时长更新为第二时长,第二时长为第一时长与衰减数值的乘积,在预设时长内,终端设备80未在前台运行过第一应用,衰减数值为小于1的正数。
可选的,分配模块803,还用于在目标资源容量大于或等于第二资源阈值的情况下,预加载根控制组中的至少一个应用标识指示的应用,第二资源阈值大于第一资源阈值。
可选的,分配模块803,还用于在目标资源容量大于或等于第三资源阈值的情况下,预加载第二应用,第二应用的应用类型与第三应用的应用类型相同,且第二应用的分配优先级高于第三应用的分配优先级,第三应用为终端设备80前台运行的应用。
可选的,每个控制组对应一个分配阈值;分配模块803,具体用于根据每个应用的分配阈值,按照每个应用的分配优先级由高到低的顺序,分别为每个应用分配资源,一个应用的分配阈值为一个应用被分配的资源的最大值,一个应用的分配阈值为一个应用的应用标识所在的控制组对应的分配阈值。
可选的,终端设备80还包括:删除模块;删除模块,用于在终端设备80卸载第四应用的情况下,删除至少两个控制组中存储的第四应用的应用标识。
本发明实施例提供的终端设备80能够实现上述方法实施例中终端设备实现的各个过程,为避免重复,这里不再赘述。
需要说明的是,本发明实施例提供的终端设备,在终端设备中的M个应用申请资源的情况下,可以获取M个应用中每个应用的目标信息,M为大于或等于2的整数;并根据每个应用的目标信息,确定每个应用的分配优先级;再按照每个应用的分配优先级由高到低的顺序,分别为每个应用分配资源;其中,一个应用的目标信息包括以下至少一项:一个应用的使用时长、一个应用的用户标识,一个应用的使用时长为终端设备最近一次在前台持续运行一个应用的时长。基于本方案,由于一个应用的使用时长和用户标识,可以反映该应用对于用户的重要程度,即用户对该应用需求的迫切程度,而M个应用中每个应用的分配优先级为根据每个应用的目标信息确定得到的,因此一个应用的分配优先级可以反映用户对该应用需求的迫切程度。从而,终端设备按照每个应用的分配优先级由高到低的顺序分别为每个应用分配资源,使得M个应用中用户迫切需求的应用可以优先获取资源而正常运行,解决了这些应用卡顿、甚至不能运行的问题。
图10为本发明实施例提供的一种终端设备的硬件结构示意图,该终端设备100包括但不限于:射频单元101、网络模块102、音频输出单元103、输入单元104、传感器105、显示单元106、用户输入单元107、接口单元108、存储器109、处理器110、以及电源111等部件。本领域技术人员可以理解,图10中示出的终端设备结构并不构成对终端设备的限定,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,终端设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端设备、可穿戴设备、以及计步器等。
其中,处理器110,用于在终端设备中的M个应用申请资源的情况下,获取M个应用中每个应用的目标信息,M为大于或等于2的整数;根据每个应用的目标信息,确定每个应用的分配优先级;按照每个应用的分配优先级由高到低的顺序,分别为每个应用分配资源;其中,一个应用的目标信息包括以下至少一项:一个应用的使用时长、一个应用的用户标识,一个应用的使用时长为终端设备最近一次在前台持续运行一个应用的时长。
需要说明的是,本发明实施例提供的终端设备,在终端设备中的M个应用申请资源的情况下,可以获取M个应用中每个应用的目标信息,M为大于或等于2的整数;并根据每个应用的目标信息,确定每个应用的分配优先级;再按照每个应用的分配优先级由高到低的顺序,分别为每个应用分配资源;其中,一个应用的目标信息包括以下至少一项:一个应用的使用时长、一个应用的用户标识,一个应用的使用时长为终端设备最近一次在前台持续运行一个应用的时长。基于本方案,由于一个应用的使用时长和用户标识,可以反映该应用对于用户的重要程度,即用户对该应用需求的迫切程度,而M个应用中每个应用的分配优先级为根据每个应用的目标信息确定得到的,因此一个应用的分配优先级可以反映用户对该应用需求的迫切程度。从而,终端设备按照每个应用的分配优先级由高到低的顺序分别为每个应用分配资源,使得M个应用中用户迫切需求的应用可以优先获取资源而正常运行,解决了这些应用卡顿、甚至不能运行的问题。
应理解的是,本发明实施例中,射频单元101可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器110处理;另外,将上行的数据发送给基站。通常,射频单元101包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元101还可以通过无线通信系统与网络和其他设备通信。
终端设备通过网络模块102为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元103可以将射频单元101或网络模块102接收的或者在存储器109中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元103还可以提供与终端设备100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元103包括扬声器、蜂鸣器以及受话器等。
输入单元104用于接收音频或视频信号。输入单元104可以包括图形处理器(Graphics Processing Unit,GPU)1041和麦克风1042,图形处理器1041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元106上。经图形处理器1041处理后的图像帧可以存储在存储器109(或其它存储介质)中或者经由射频单元101或网络模块102进行发送。麦克风1042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元101发送到移动通信基站的格式输出。
终端设备100还包括至少一种传感器105,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1061的亮度,接近传感器可在终端设备100移动到耳边时,关闭显示面板1061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器105还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元106用于显示由用户输入的信息或提供给用户的信息。显示单元106可包括显示面板1061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1061。
用户输入单元107可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元107包括触控面板1071以及其他输入设备1072。触控面板1071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1071上或在触控面板1071附近的操作)。触控面板1071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器110,接收处理器110发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1071。除了触控面板1071,用户输入单元107还可以包括其他输入设备1072。具体地,其他输入设备1072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板1071可覆盖在显示面板1061上,当触控面板1071检测到在其上或附近的触摸操作后,传送给处理器110以确定触摸事件的类型,随后处理器110根据触摸事件的类型在显示面板1061上提供相应的视觉输出。虽然在图10中,触控面板1071与显示面板1061是作为两个独立的部件来实现终端设备的输入和输出功能,但是在某些实施例中,可以将触控面板1071与显示面板1061集成而实现终端设备的输入和输出功能,具体此处不做限定。
接口单元108为外部装置与终端设备100连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元108可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到终端设备100内的一个或多个元件或者可以用于在终端设备100和外部装置之间传输数据。
存储器109可用于存储软件程序以及各种数据。存储器109可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器109可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器110是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器109内的软件程序和/或模块,以及调用存储在存储器109内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。处理器110可包括一个或多个处理单元;优选的,处理器110可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。
终端设备100还可以包括给各个部件供电的电源111(比如电池),优选的,电源111可以通过电源管理系统与处理器110逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,终端设备100包括一些未示出的功能模块,在此不再赘述。
优选的,本发明实施例还提供一种终端设备,包括处理器110,存储器109,存储在存储器109上并可在所述处理器110上运行的计算机程序,该计算机程序被处理器110执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

Claims (12)

1.一种资源分配方法,其特征在于,包括:
在终端设备中的M个应用申请资源的情况下,获取所述M个应用中每个应用的目标信息,M为大于或等于2的整数;
根据所述每个应用的目标信息,确定所述每个应用的分配优先级;
按照所述每个应用的分配优先级由高到低的顺序,分别为所述每个应用分配资源;
其中,一个应用的目标信息包括以下至少一项:所述一个应用的使用时长、所述一个应用的用户标识,一个应用的使用时长为所述终端设备最近一次在前台持续运行所述一个应用的时长。
2.根据权利要求1所述的方法,其特征在于,在一个应用的目标信息包括使用时长的情况下,使用时长大的应用的分配优先级高于使用时长小的应用的分配优先级;
在一个应用的目标信息包括用户标识的情况下,用户标识为第一用户标识的应用的分配优先级高于用户标识为第二用户标识的应用的分配优先级;
在一个应用的目标信息包括用户标识和使用时长的情况下,用户标识为第一用户标识的应用的分配优先级高于用户标识为第二用户标识的应用的分配优先级;且对于用户标识相同的应用,使用时长大的应用的分配优先级高于使用时长小的应用的分配优先级;
其中,所述第一用户标识为用户配置的,所述第二用户标识为所述终端设备的系统默认的。
3.根据权利要求2所述的方法,其特征在于,所述终端设备中包括至少两个控制组,每个控制组对应一个数值,一个控制组对应的数值为允许所述一个控制组存储的应用标识的最大数量;
所述方法还包括:
获取待添加应用的目标信息;
根据所述待添加应用的目标信息,确定所述待添加应用的分配优先级;
按照所述待添加应用的分配优先级,将所述待添加应用的应用标识添加到所述至少两个控制组中的一个控制组。
4.根据权利要求3所述的方法,其特征在于,所述按照所述待添加应用的分配优先级,将所述待添加应用的应用标识添加到所述至少两个控制组中的一个控制组,包括:
在所述至少两个控制组中的第一控制组中存储的应用标识的数量小于第一阈值的情况下,按照所述待添加应用的分配优先级,在所述第一控制组中存储所述待添加应用的应用标识,所述第一阈值为允许所述第一控制组存储的应用标识的最大数量;
在所述第一控制组中存储的应用标识的数量等于所述第一阈值、且所述待添加应用的分配优先级高于目标应用的分配优先级的情况下,将所述目标应用的应用标识更新为所述待添加应用的应用标识,所述目标应用为所述第一控制组中存储的应用标识指示的应用中分配优先级最低的应用;
在所述第一控制组中存储的应用标识的数量等于所述第一阈值、且所述待添加应用的分配优先级低于所述目标应用的分配优先级,以及所述至少两个控制组中的第二控制组中存储的应用标识的数量小于第二阈值的情况下,按照所述待添加应用的分配优先级,在所述第二控制组中存储所述待添加应用的应用标识,所述第二阈值为允许所述第二控制组存储的应用标识的最大数量;
其中,所述第一控制组对应的应用的分配优先级均高于所述第二控制组对应的应用的分配优先级。
5.根据权利要求4所述的方法,其特征在于,所述至少两个控制组包括根控制组和至少两个父控制组,所述至少两个父控制组中的不同父控制组用于存储不同应用类型应用的应用标识;
所述按照所述待添加应用的分配优先级,在所述第二控制组中存储所述待添加应用的应用标识,包括:
按照所述待添加应用的分配优先级和所述待添加应用的应用类型,在所述第二控制组中存储所述待添加应用的应用标识。
6.一种终端设备,其特征在于,包括:获取模块、确定模块和分配模块;
所述获取模块,用于在所述终端设备中的M个应用申请资源的情况下,获取所述M个应用中每个应用的目标信息,M为大于或等于2的整数;
所述确定模块,用于根据所述获取模块获取的所述每个应用的目标信息,确定所述每个应用的分配优先级;
所述分配模块,用于按照所述确定模块确定的所述每个应用的分配优先级由高到低的顺序,分别为所述每个应用分配资源;
其中,一个应用的目标信息包括以下至少一项:所述一个应用的使用时长、所述一个应用的用户标识,一个应用的使用时长为所述终端设备最近一次在前台持续运行所述一个应用的时长。
7.根据权利要求6所述的终端设备,其特征在于,在一个应用的目标信息包括使用时长的情况下,使用时长大的应用的分配优先级高于使用时长小的应用的分配优先级;
在一个应用的目标信息包括用户标识的情况下,用户标识为第一用户标识的应用的分配优先级高于用户标识为第二用户标识的应用的分配优先级;
在一个应用的目标信息包括用户标识和使用时长的情况下,用户标识为第一用户标识的应用的分配优先级高于用户标识为第二用户标识的应用的分配优先级;且对于用户标识相同的应用,使用时长大的应用的分配优先级高于使用时长小的应用的分配优先级;
其中,所述第一用户标识为用户配置的,所述第二用户标识为所述终端设备的系统默认的。
8.根据权利要求7所述的终端设备,其特征在于,所述终端设备中包括至少两个控制组,每个控制组对应一个数值,一个控制组对应的数值为允许所述一个控制组存储的应用标识的最大数量;
所述终端设备还包括:添加模块;
所述获取模块,还用于获取待添加应用的目标信息;
所述确定模块,还用于根据所述获取模块获取的所述待添加应用的目标信息,确定所述待添加应用的分配优先级;
所述添加模块,用于按照所述确定模块确定的所述待添加应用的分配优先级,将所述获取模块获取的所述待添加应用的应用标识添加到所述至少两个控制组中的一个控制组。
9.根据权利要求8所述的终端设备,其特征在于,
所述添加模块,具体用于在所述至少两个控制组中的第一控制组中存储的应用标识的数量小于第一阈值的情况下,按照所述待添加应用的分配优先级,在所述第一控制组中存储所述待添加应用的应用标识,所述第一阈值为允许所述第一控制组存储的应用标识的最大数量;
在所述第一控制组中存储的应用标识的数量等于所述第一阈值、且所述待添加应用的分配优先级高于目标应用的分配优先级的情况下,将所述目标应用的应用标识更新为所述待添加应用的应用标识,所述目标应用为所述第一控制组中存储的应用标识指示的应用中分配优先级最低的应用;
在所述第一控制组中存储的应用标识的数量等于所述第一阈值、且所述待添加应用的分配优先级低于所述目标应用的分配优先级,以及所述至少两个控制组中的第二控制组中存储的应用标识的数量小于第二阈值的情况下,按照所述待添加应用的分配优先级,在所述第二控制组中存储所述待添加应用的应用标识,所述第二阈值为允许所述第二控制组存储的应用标识的最大数量;
其中,所述第一控制组对应的应用的分配优先级均高于所述第二控制组对应的应用的分配优先级。
10.根据权利要求9所述的终端设备,其特征在于,所述至少两个控制组包括根控制组和至少两个父控制组,所述至少两个父控制组中的不同父控制组用于存储不同应用类型应用的应用标识;
所述添加模块,具体用于按照所述待添加应用的分配优先级和所述待添加应用的应用类型,在所述第二控制组中存储所述待添加应用的应用标识。
11.一种终端设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的资源分配方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的资源分配方法的步骤。
CN201910028451.9A 2019-01-11 2019-01-11 一种资源分配方法及终端设备 Pending CN109918193A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910028451.9A CN109918193A (zh) 2019-01-11 2019-01-11 一种资源分配方法及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910028451.9A CN109918193A (zh) 2019-01-11 2019-01-11 一种资源分配方法及终端设备

Publications (1)

Publication Number Publication Date
CN109918193A true CN109918193A (zh) 2019-06-21

Family

ID=66960265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910028451.9A Pending CN109918193A (zh) 2019-01-11 2019-01-11 一种资源分配方法及终端设备

Country Status (1)

Country Link
CN (1) CN109918193A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110554922A (zh) * 2019-09-05 2019-12-10 北京安云世纪科技有限公司 一种系统资源分配方法及装置
CN111328057A (zh) * 2020-01-22 2020-06-23 维沃移动通信有限公司 一种应用共享方法及第一电子设备
CN113296831A (zh) * 2021-06-11 2021-08-24 恒安嘉新(北京)科技股份公司 应用标识的提取方法、装置、计算机设备及存储介质
CN114077493A (zh) * 2020-08-21 2022-02-22 荣耀终端有限公司 一种资源分配方法及相关设备
WO2024037428A1 (zh) * 2022-08-17 2024-02-22 中移(苏州)软件技术有限公司 一种进程处理方法和设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1517872A (zh) * 2003-01-16 2004-08-04 国际商业机器公司 动态分配计算机资源的方法和装置
US8136114B1 (en) * 2006-04-21 2012-03-13 Sprint Communications Company L.P. Business process management system having dynamic task assignment
CN102479108A (zh) * 2010-11-26 2012-05-30 中国科学院声学研究所 一种多应用进程的嵌入式系统终端资源管理系统及方法
CN106357887A (zh) * 2016-08-25 2017-01-25 乐视控股(北京)有限公司 图标显示方法、装置和终端设备
CN106776036A (zh) * 2016-12-30 2017-05-31 广东欧珀移动通信有限公司 一种资源分配方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1517872A (zh) * 2003-01-16 2004-08-04 国际商业机器公司 动态分配计算机资源的方法和装置
US8136114B1 (en) * 2006-04-21 2012-03-13 Sprint Communications Company L.P. Business process management system having dynamic task assignment
CN102479108A (zh) * 2010-11-26 2012-05-30 中国科学院声学研究所 一种多应用进程的嵌入式系统终端资源管理系统及方法
CN106357887A (zh) * 2016-08-25 2017-01-25 乐视控股(北京)有限公司 图标显示方法、装置和终端设备
CN106776036A (zh) * 2016-12-30 2017-05-31 广东欧珀移动通信有限公司 一种资源分配方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
R.L.博格等著: "《微软认证系统工程师 MCSE 考试指南 WiNDOWS NT Workstation4.0》", 31 January 1999 *
王翠萍: "《移动Web开发从入门到精通 基于HTML 5+jQuery Mobile+PhoneGap》", 31 March 2015 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110554922A (zh) * 2019-09-05 2019-12-10 北京安云世纪科技有限公司 一种系统资源分配方法及装置
CN111328057A (zh) * 2020-01-22 2020-06-23 维沃移动通信有限公司 一种应用共享方法及第一电子设备
CN111328057B (zh) * 2020-01-22 2023-02-07 维沃移动通信有限公司 一种应用共享方法及第一电子设备
CN114077493A (zh) * 2020-08-21 2022-02-22 荣耀终端有限公司 一种资源分配方法及相关设备
CN113296831A (zh) * 2021-06-11 2021-08-24 恒安嘉新(北京)科技股份公司 应用标识的提取方法、装置、计算机设备及存储介质
CN113296831B (zh) * 2021-06-11 2023-08-25 恒安嘉新(北京)科技股份公司 应用标识的提取方法、装置、计算机设备及存储介质
WO2024037428A1 (zh) * 2022-08-17 2024-02-22 中移(苏州)软件技术有限公司 一种进程处理方法和设备

Similar Documents

Publication Publication Date Title
CN109918193A (zh) 一种资源分配方法及终端设备
CN110069306A (zh) 一种消息显示方法及终端设备
CN108595237A (zh) 一种显示内容的方法及终端
CN109976611A (zh) 终端设备的控制方法及终端设备
CN109543099A (zh) 一种内容推荐方法及终端设备
CN110489385A (zh) 一种信息处理方法及终端设备
CN109116965A (zh) 一种省电方法及移动终端
CN108600078A (zh) 一种通信的方法及终端
CN109635205A (zh) 信息推送方法及终端设备
CN110445924A (zh) 网络任务执行方法及终端设备
CN109522278A (zh) 一种文件存储方法及终端设备
CN110049185A (zh) 图像处理方法及终端设备
CN109508398A (zh) 一种照片分类方法及其终端设备
CN110007822A (zh) 一种界面显示方法及终端设备
CN110049187A (zh) 一种显示方法及终端设备
CN110471589A (zh) 信息显示方法及终端设备
CN110138972A (zh) 一种通知处理方法及装置
CN110046013A (zh) 一种界面显示方法及终端设备
CN109816679A (zh) 一种图片处理方法及终端设备
CN109521920A (zh) 一种应用程序图标控制方法及终端设备
CN109117054A (zh) 一种显示控制方法及终端
CN108920054A (zh) 一种应用推荐方法及终端
CN109408080A (zh) 一种应用升级的方法及终端
CN108170559A (zh) 一种数据备份方法及终端
CN110505340A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190621

RJ01 Rejection of invention patent application after publication