CN110018903A - 资源管理方法、装置、移动终端及计算机可读存储介质 - Google Patents

资源管理方法、装置、移动终端及计算机可读存储介质 Download PDF

Info

Publication number
CN110018903A
CN110018903A CN201810023902.5A CN201810023902A CN110018903A CN 110018903 A CN110018903 A CN 110018903A CN 201810023902 A CN201810023902 A CN 201810023902A CN 110018903 A CN110018903 A CN 110018903A
Authority
CN
China
Prior art keywords
resource
application
category
mobile terminal
background
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
CN201810023902.5A
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201810023902.5A priority Critical patent/CN110018903A/zh
Priority to PCT/CN2018/122086 priority patent/WO2019137173A1/zh
Publication of CN110018903A publication Critical patent/CN110018903A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例涉及一种资源管理方法、装置、移动终端及计算机可读存储介质。上述方法,包括:当检测到应用进入后台运行时,获取所述应用在预设时间段内在后台运行时的资源使用数据;根据所述资源使用数据获取所述应用使用的资源种类;根据所述资源使用数据确定所述应用在所述资源种类下的资源限制等级;将所述应用分配到所述资源种类下与所述资源限制等级对应的资源组别中,并配置与所述资源限制等级对应的资源使用优先级。上述资源管理方法、装置、移动终端及计算机可读存储介质,可以对后台应用动态实现不同等级的资源限制,优化系统性能,节省功耗。

Description

资源管理方法、装置、移动终端及计算机可读存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种资源管理方法、装置、移动终端及计算机可读存储介质。
背景技术
随着互联网的飞速发展,智能移动终端已经成为许多用户最常用的电子设备,例如智能手机、平板电板等。用户可在智能移动终端上安装各式的应用程序进行使用,当应用程序在后台进行运行时,会与前台运行的应用程序抢占CPU(Central Processing Unit,中央处理器)、内存、带宽等系统资源,导致出现前台运行的应用卡顿、系统运行缓慢及移动终端发热等问题。
发明内容
本申请实施例提供一种资源管理方法、装置、移动终端及计算机可读存储介质,可以对后台应用动态实现不同等级的资源限制,优化系统性能,节省功耗。
一种资源管理方法,包括:
当检测到应用进入后台运行时,获取所述应用在预设时间段内在后台运行时的资源使用数据;
根据所述资源使用数据获取所述应用使用的资源种类;
根据所述资源使用数据确定所述应用在所述资源种类下的资源限制等级;
将所述应用分配到所述资源种类下与所述资源限制等级对应的资源组别中,并配置与所述资源限制等级对应的资源使用优先级。
一种资源管理装置,包括:
数据获取模块,用于当检测到应用进入后台运行时,获取所述应用在预设时间段内在后台运行时的资源使用数据;
种类获取模块,用于根据所述资源使用数据获取所述应用使用的资源种类;
等级确定模块,用于根据所述资源使用数据确定所述应用在所述资源种类下的资源限制等级;
配置模块,用于将所述应用分配到所述资源种类下与所述资源限制等级对应的资源组别中,并配置与所述资源限制等级对应的资源使用优先级。
一种移动终端,包括存储器及处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器实现如上所述的方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。
上述资源管理方法、装置、移动终端及计算机可读存储介质,当检测到应用进入后台运行时,可获取该应用在预设时间段内在后台运行时的资源使用数据,根据资源使用数据确定应用使用的资源种类及资源种类下的资源限制等级,并将应用分配到使用的资源种类下与资源限制等级对应的资源配置中,配置与资源限制等级对应的资源使用优先级,可以对后台应用动态实现在不同资源种类下不同等级的资源限制,优化系统性能,节省功耗。
附图说明
图1为一个实施例中移动终端的框图;
图2为一个实施例中资源管理方法的系统架构图;
图3为一个实施例中资源管理方法的流程示意图;
图4为一个实施例中确定应用在使用的资源种类下的资源限制等级的流程示意图;
图5为一个实施例中将应用分配到使用的资源种类下与资源限制等级对应的资源组别的流程示意图;
图6为一个实施例中降低与前台进程具备依赖关系的后台进程的资源限制等级的流程示意图;
图7为一个实施例中资源管理装置的框图;
图8为一个实施例中等级确定模块的框图;
图9为一个实施例中配置模块的框图;
图10为另一个实施例中移动终端的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
图1为一个实施例中移动终端的框图。如图1所示,该移动终端包括通过系统总线连接的处理器、存储器、显示屏和输入装置。其中,存储器可包括非易失性存储介质及处理器。移动终端的非易失性存储介质存储有操作系统及计算机程序,该计算机程序被处理器执行时以实现本申请实施例中提供的一种资源管理方法。该处理器用于提供计算和控制能力,支撑整个移动终端的运行。移动终端中的内存储器为非易失性存储介质中的计算机程序的运行提供环境。移动终端的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是移动终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该移动终端可以是手机、平板电脑或者个人数字助理或穿戴式设备等。本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的移动终端的限定,具体的移动终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图2为一个实施例中资源管理方法的系统架构图。如图2所示,该系统架构中包括JAVA空间层210、本地框架层220以及内核(Kernel)空间层230。JAVA空间层210上可包含冻结管理模块212,移动终端可通过该冻结管理模块212来实现对运行的各个应用的冻结策略,对后台耗电较多或是抢占大量系统资源的相关应用进行冻结操作。本地框架层220中包含资源优先级和限制管理器222和平台冻结管理器224。移动终端可通过资源优先级和限制管理器222实时维护不同的应用处于不同的资源使用优先级和不同的资源组别中,并根据上层的需求来调整应用程序的资源组别从而达到优化性能,节省功耗的作用。移动终端可通过平台冻结管理器224将后台可以冻结的应用按照进入冻结时间的长短,分配到对应预设的不同层次的冻结层。可选地,该冻结层可包括三个,分别是:CPU限制睡眠模式、CPU冻结睡眠模式、进程深度冻结模式。其中,CPU限制睡眠模式是指对相关进程所占用的CPU资源进行限制,使相关进程占用较少的CPU资源,将空余的CPU资源向其它未被冻结的进程倾斜,限制了对CPU资源的占用,也相应限制了进程对网络资源以及I/O接口资源的占用;CPU冻结睡眠模式是指禁止相关进程使用CPU,而保留对内存的占用,当禁止使用CPU资源时,相应的网络资源以及I/O接口资源也被禁止使用;进程深度冻结模式是指除禁止使用CPU资源之外,进一步对相关进程所占用的内存资源进行回收,回收的内存可供其它进程使用。可选地,本地框架层220还可包括接口模块,该接口模块包含开发给上层的binder接口,上层的框架或者应用通过提供的binder接口来发送资源限制或者冻结的指令给资源优先级和限制管理器222和平台冻结管理器224。
内核空间层230中可包括UID管理模块231、Cgroup模块233、Binder管控模块235、进程内存回收模块237以及冻结超时退出模块239。其中,UID管理模块231用于实现基于应用的用户身份标识(User Identifier,UID)来管理第三方应用的资源或进行冻结。相比较于基于进程身份标识(Process Identifier,PID)来进行进程管控,通过UID更便于统一管理一个用户的应用的资源。Cgroup模块233用于提供一套完善的CPU、CPUSET、内存(memory)、输入/输出(input/output,I/O)和Net相关的资源限制机制。Binder管控模块235用于实现后台binder通信的优先级的控制。进程内存回收模块237用于实现进程深度冻结模式,这样能当某个第三方应用长期处于冻结状态的时候,会主要释放掉进程的文件区,从而达到节省内存的模块,也加快该应用在下次启动时的速度。冻结超时退出模块239可用于解决出现冻结超时场景产生的异常。通过上述的系统架构,可实现本申请各个实施例中的资源管理方法。
如图3所示,在一个实施例中,提供一种资源管理方法,包括以下步骤:
步骤310,当检测到应用进入后台运行时,获取应用在预设时间段内在后台运行时的资源使用数据。
移动终端上可同时运行有一个或多个应用程序,可包括在前台运行的前台应用及在后台运行的后台应用。移动终端可对运行的各个应用程序进行监听,并检测是否有应用进入后台运行。应用进入后台运行可以是应用从前台运行切换至后台运行,也可以是应用启动后直接进入后台运行等。
在一个实施例中,移动终端可通过活动管理器对运行的各个应用程序进行监听,监听各个应用程序的运行状态变化。可选地,应用程序的运行状态可包括但不限于启动、前台运行、后台运行、退出等。移动终端可每隔一段时间通过活动管理器的RunningAppProcessInfo类获取正在运行的所有应用程序列表,例如,每隔2秒获取一次正在运行的所有应用程序列表,并逐一判断应用程序列表中各个正在运行的应用程序的运行状态是前台运行还是后台运行。若移动终端检测到应用在本次获取的应用程序列表中为后台运行,在上一次获取的应用程序列表中不是后台运行,则可确定该应用为进入后台运行的应用。
可选地,移动终端还可监听每个activity(活动)的生命周期,并根据每个activity的生命周期获取正在运行的各个应用程序的运行状态。移动终端可建立全局计数器,统计每个activity对onStart及onStop两个方法的调用,当应用程序调用一次onStart时,全局计数器加1,当应用程序调用一次onStop时,全局计数器减1。当应用程序的全局计数器大于0时,可说明应用程序在前台运行,当应用程序的全局计数器等于0时,可说明应用程序在后台运行。若移动终端检测到应用的全局计数器从1变为0时,则可确定该应用进入后台运行,或是移动终端检测到创建了新的activity,且该新的activity对应的应用的全局计数器为0,则可确定该应用进入后台运行等。可以理解地,移动终端检测应用进入后台运行也可采用其他方法,并不仅限于上述方式。
移动终端检测到应用进入后台运行时,可获取该获取在预设时间段内在后台运行时的资源使用数据。预设时间段可根据实际需求进行设定,比如3天、一周等。资源使用数据可包括该应用在预设时间段内每次在后台运行时占用的资源种类及占用比例等,其中,资源种类可包括但不限于CPU、I/O、内存及网络资源等。
步骤320,根据资源使用数据获取应用使用的资源种类。
移动终端可根据进入后台运行的应用的资源使用数据获取该应用使用的资源种类,应用使用的资源种类可以是资源使用数据中包含的资源种类。例如,应用在预设时间段内总共在后台运行2次,第一次在后台运行时占用CPU20%、内存10%,第二次在后台运行时占用CPU10%、内存10%、网络30%,则移动终端可获取该应用使用的资源种类可包括CPU、内存及网络资源。
应用使用的资源种类也可以是资源使用数据中占用比例大于预设值的资源种类等,不同资源种类可设定不同的预设值。可选地,移动终端可对应用在预设时间段内每次在后台运行时占用的资源种类及占用比例进行统计,并可计算该应用在预设时间段内在后台运行时在不同资源种类的平均占用比例。移动终端可将应用在资源种类的平均占用比例与该资源种类对应的预设值进行比较,并判断平均占用比例是否大于该对应的预设值。例如,应用在预设时间段内总共在后台运行3次,第一次在后台运行时占用CPU20%、内存10%,第二次在后台运行时占用CPU10%、内存10%,第三次在后台运行时占用CPU25%、内存20%,则移动终端可计算该应用在CPU资源的平均占用比例为18.3%,内存资源的平均占用比例为13.3%,CPU资源的平均占用比例大于预设值8%,内存资源的平均占用比例大于预设值10%,则可确定该应用使用的资源种类包括CPU及内存资源。
步骤330,根据资源使用数据确定应用在资源种类下的资源限制等级。
可选地,移动终端可根据实际需求设定不同的资源限制等级,资源限制等级可用于表示应用使用资源被限制的程度,资源限制等级越高,受限制的程度可越大。受限制的资源可包括但不限于CPU资源、内存资源、I/O资源、网络资源等。移动终端获取进入后台运行的应用使用的资源种类后,可根据资源使用数据中该应用使用的各个资源种类的占用比例确定应用在使用的各个资源种类下的资源限制等级。
在一个实施例中,移动终端设定的资源限制等级可包括无限制级别、普通限制级别、深度限制级别及冻结级别等。无限制级别可指的是应用使用的资源不受限制。普通限制级别可指的是应用可使用较少的资源,比如最多仅可使用50%的资源等,但不限于此。深度限制级别可指的是应用可使用极少的资源,比如最多仅可使用20%的资源等,但不限于此。冻结级别指的是应用无法使用任何的资源,停止应用的一切行为。可选地,不同种类的资源均可包含上述设定的几种资源限制等级,移动终端可分别针对不同种类的资源设定进入后台运行的应用的资源限制等级。可选地,不同种类的资源均可包含上述设定的几种资源限制等级,移动终端可分别根据应用的资源使用数据中在不同资源种类的占用比例确定用应在使用的各个资源种类的资源限制等级。资源限制等级也可按照其他方式进行划分,并不仅限于此,不同资源种类也可划分不同的资源限制等级。
可选地,资源种类下不同的资源限制等级可对应不同的占用比例区间。例如,网络资源的无限制级别对应的区间可以是应用占用的网络资源比例小于10%,普通限制级别对应的区间可以是应用占用的网络资源比例在10%~30%之间,深度限制级别对应的区间可以是应用占用的网络资源比例在30%~70%之间,冻结级别对应的区间可以是应用占用的网络资源比例大于70%等。CPU资源的无限制级别对应的区间可以是应用占用的CPU资源比例小于5%,普通限制级别对应的区间可以是应用占用的CPU资源比例在5%~15%之间,深度限制级别对应的区间可以是应用占用的CPU资源比例在15%~30%之间,深度限制级别对应的区间可以是应用占用的CPU资源比例大于30%等,但不限于此。可选地,移动终端获取进入后台运行的应用在预设时间段内的资源使用数据后,可根据资源使用数据获取该应用在使用的各个资源种类的占用比例区间,从而确定应用在使用的各个资源种类的资源限制等级。比如,移动终端可计算应用在各个资源种类的平均占用比例,并获取平均占用比例所属的占用比例区间,从而确定应用在使用的各个资源种类的资源限制等级。
步骤340,将应用分配到资源种类下与资源限制等级对应的资源组别中,并配置与资源限制等级对应的资源使用优先级。
移动终端确定进入后台运行的应用在使用的资源种类的资源限制等级后,可将该应用发配到该使用的资源种类下与资源限制等级对应的资源组别中,并配置与确定的资源限制等级对应的资源使用优先级。资源限制等级越高,限制资源使用的程度越强,可对应较低的资源使用优先级。资源限制等级越低,限制资源使用的程度越弱,可对应较高的资源使用优先级。
可选地,移动终端可基于内核Cgroup(control group)机制划分不同的资源组别,并可采用文件节点写配置的方式设置各个资源组别的资源使用优先级,对被分配到各个资源组别中的应用使用资源的时间或比例等进行管理,其中,Cgroup是内核中提供的一种可以限制、记录、隔离进程所使用的物理资源(比如:CPU、内存、I/O、网络等资源)的机制。针对不同种类的资源,移动终端可划分不同的资源组别。移动终端可加载Cgroup的配置文件,配置文件中可记录有划分的资源组别、各个资源组别的资源使用优先级及与资源使用优先级对应的资源调度策略。资源调度策略可包括但不限于被分配到资源组别中的进程使用资源的时间、占用资源比例、使用的资源标识等。例如,可配置网络资源下的普通限制级别对应的资源组别的应用最大可占用20%的网络资源,可配置CPU资源下的普通限制级别对应的资源组别的应用在1分钟内可使用30秒的CPU资源等,但不限于此。当需要添加新的资源组别,或是修改资源组别的资源使用优先级及资源调度策略,可通过修改Cgroup的配置文件。
移动终端将进入后台运行的应用分配到使用的资源种类下与确定的资源限制等级对应的资源组别中,并配置与确定的资源限制等级对应的资源使用优先级,该应用可按照该资源组别对应的资源调度策略使用该资源种类。可选地,若该应用使用的资源种类有多个,移动终端可根据资源使用数据逐一确定该应用在各个使用的资源种类的资源限制等级,并将该应用分别分配到各个使用的资源种类下与资源限制等级对应的资源组别中。例如,移动终端获取进入后台运行的应用使用的资源种类包括CPU资源及网络资源,并根据资源使用数据确定该应用在CPU资源的资源限制等级为深度限制级别,在网络资源的资源限制等级为普通限制级别。移动终端可将该应用分别分配到CPU资源下与深度限制级别对应的资源组别,以及网络资源下与普通限制级别对应的资源组别中。
在本实施例中,当检测到应用进入后台运行时,可获取该应用在预设时间段内在后台运行时的资源使用数据,根据资源使用数据确定应用使用的资源种类及资源种类下的资源限制等级,并将应用分配到使用的资源种类下与资源限制等级对应的资源配置中,配置与资源限制等级对应的资源使用优先级,可以对后台应用动态实现在不同资源种类下不同等级的资源限制,优化系统性能,节省功耗。
如图4所示,在一个实施例中,步骤330根据资源使用数据确定应用在资源种类下的资源限制等级,包括以下步骤:
步骤402,获取应用使用的资源种类当前未被占用的比例。
移动终端检测到应用进入后台运行,获取该应用在预设时间段内在后台运行时的资源使用数据,并根据资源使用数据获取该应用使用的资源种类。移动终端可获取该应用使用的各个资源种类当前未被占用的比例,可先获取应用使用的各个资源种类当前的占用比例,并根据占用比例计算未被占用的比例。
在一个实施例中,移动终端可将各个资源种类的活动数据记录在预设文件中,可选的,不同资源种类的活动数据可记录在不同的预设文件中。资源种类的活动数据可指的是对应资源种类被占用向移动终端的操作系统或应用程序等提供运行能力时产生的数据。例如,CPU资源对应的预设文件中可记录有CPU从移动终端启动至当前时刻的累计工作时间,以及各个不同的进程或应用等从移动终端启动至当前时刻使用CPU的累计时间等;内存资源对应的预设文件中可记录有在不同时刻内存被占用的大小,以及各个不同的进程或应用等占用的内存大小等,但不限于此。
可选地,移动终端可从预设文件中读取进入后台运行的应用使用的各个资源种类的活动数据,并根据活动数据计算该应用使用的各个资源种类当前未被占用的比例。例如,移动终端可按照预设的采集周期从/proc目录下的/proc/stat文件中读取CPU从移动终端启动至当前时刻的累计工作时间。移动终端可记录每一次读取的CPU的累计工作时间,并计算本次记录的CPU的累计工作时间与上一次记录的CPU的累计工作时间之间的差值,得到采集周期内CPU的真正工作时间。移动终端可确定采集周期内CPU的真正工作时间与采集周期的比值,该比值即为CPU的总占用率等,可根据CPU的总占用率得到CPU的空闲率,CPU的空间率即为CPU未被占用的比例。移动终端也可每隔一定时间段从与内存对应的预设文件中读取内存当前被占用的大小,并根据内存当前被占用的大小确定当前内存的占用比例,从而得到内存当前未被占用的比例。
步骤404,若资源种类当前未被占用的比例小于预设阈值,则根据资源使用数据确定应用在资源种类下的资源限制等级。
移动终端可将进入后台运行的应用使用的各个资源种类当前未被占用的比例与预设阈值进行比较,若资源种类当前未被占用的比例小于预设阈值,可说明该资源种类处于繁忙状态,移动终端可对后台运行的应用在该资源种类的使用进行限制。移动终端可根据进入后台运行的应用在该资源种类的占用比例确定在该资源种类下的资源限制等级。若资源种类当前未被占用的比例大于或等于预设阈值,可说明该资源种类处于较空闲的状态,可不对后台运行的应用进行资源使用限制。可选地,预设阈值可根据实际需求进行设定,不同资源种类可对应不同的预设阈值,例如,CPU资源对应的预设阈值可以是40%,网络资源对应的预设阈值可以是30%等,但不限于此。
在一个实施例中,若资源种类当前未被占用的比例大于或等于预设阈值,移动终端可检测是否有前台应用在运行,若有前台应用在运行,则可根据进入后台运行的应用的资源使用数据确定该应用在该资源种类下的资源限制等级。可以最大限度地保证前台应用的资源使用,减少出现后台应用与前台应用抢占资源导致卡顿等情况。
在本实施例中,当进入后台运行的应用使用的资源种类当前未被占用的比例小于预设阈值,则根据该应用的资源使用数据确定该应用在该资源种类下的资源限制等级,可以对后台应用动态实现在不同资源种类下不同等级的资源限制,优化系统性能,节省功耗。
如图5所示,在一个实施例中,步骤将应用分配到资源种类下与资源限制等级对应的资源组别中,包括以下步骤:
步骤502,获取应用的用户组信息。
进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。移动终端上通常可运行有多个进程,不同的进程可用于分别执行不同的任务。应用程序进行运行时,移动终端可为运行的应用程序分配不同的用户组,可通过用户组管理应用程序的权限等。移动终端将进入后台运行的应用分配到使用的资源种类下与确定的资源限制等级对应的资源组别,可获取该应用的应用标识,并根据应用标识获取该应用的用户组信息,其中,应用标识可以由数字、字母及符号等中的一种或多种组成。用户组信息可包括用户组标识等,其中,用户组标识可以由数字、字母及符号等中的一种或多种组成。
步骤504,查询与用户组信息具备映射关系的进程标识。
移动终端可根据进入后台运行的应用的用户组信息查询与用户组信息具备映射关系的进程标识,从而得到该应用下运行的各个进程。移动终端的内核空间层可实时对进程所属的用户组信息进行收集,当进程创建或销毁时,内核可对进程所属的用户组信息进行分配及释放等,进程在运行的过程中,也可以发生用户组信息改变的情况。内核空间层实时对各个进程所属的用户组信息进行收集,并可建立进程标识、进程名称等进程信息与用户组信息的映射关系。当移动终端需要将应用分配到与资源种类下与确定的资源限制等级对应的资源组别时,可根据该应用的用户组信息直接查询具备映射关系的进程标识,相比起遍历所有运行的进程从而找到应用下运行的进程,直接查找与用户组信息具备映射关系的进程标识更加方便快捷。
步骤506,将与进程标识匹配的后台进程分配到资源种类下与资源限制等级对应的资源组别中。
移动终端根据进入后台运行的应用的用户组信息查询到具备映射关系的进程标识后,可根据进程标识获取该应用下运行的所有进程。移动终端可将该应用下运行的所有进程分配到与使用的资源种类下与确定的资源限制等级对应的资源组别中,并对该应用下运行的所有进程配置与确定的资源限制等级对应的资源使用优先级,从而可实现配置该应用为与确定的资源限制等级对应的资源使用优先级的目的。
在本实施例中,可根据应用的用户组信息查找到具有映射关系的进程标识,并将与进程标识匹配的后台进程添加到与使用的资源种类下与确定的资源限制等级对应的资源组别中,可按照资源限制等级对后台应用下运行的各个进程进行统一的资源使用管理,优化系统性能,节省功耗。
如图6所示,在一个实施例中,上述资源管理方法,还包括以下步骤:
步骤602,获取在前台运行的前台进程。
当有前台应用运行时,移动终端可获取在前台运行的前台进程,可选地,移动终端可通过活动管理器的RunningAppProcessInfo类获取正在运行的所有进程列表,并从进程列表中获取运行状态为前台运行的进程,即可确定该运行状态为前台运行的进程为前台进程。
步骤604,当存在与前台进程具备依赖关系的后台进程时,降低具备依赖关系的后台进程的资源限制等级。
移动终端获取在前台运行的前台进程后,可检测是否存在与前台进程具备依赖关系的后台进程,具备依赖关系指的是一个进程需要等待另一个进程的消息才可正常执行,则两个进程间存在依赖关系。可选地,移动终端可预先记录具备有依赖关系的进程标识,可获取前台进程的进程标识,并根据该前台进程的进程标识获取与前台进程具备依赖关系的进程标识。移动终端可根据与前台进程具备依赖关系的进程标识逐一对后台运行的各个进程进行检测,确定是否存在与前台进程具备依赖关系的后台进程。
移动终端可降低与前台进程具备依赖关系的后台进程的资源限制等级,提高该具备依赖关系的后台进程的资源使用优先级。可选地,移动终端可将与前台进程具备依赖关系的后台进程的资源限制等级调整为与前台进程相同的资源限制等配,可将具备依赖关系的后台进程分配至与前台进程相同的资源组别中,并配置与前台进程相同的资源使用优先级。提高与前台运行的进程具备依赖关系的后台进程的资源使用优先级,可加快与前台运行的进程具备依赖关系的后台进程的任务执行,从而减少前台运行的进程的等待时间,加快前台进程的运行。
在一个实施例中,移动终端可检测是否存在与前台进程存在交互通信的后台进程,可将与前台进程存在交互通信的后台进程确定为与前台进程具备依赖关系的后台进程。可选地,进程间的交互通信可包括同步机制和/或通信机制等,其中,同步机制可指的是两个进程相互协调共同完成任务,通信机制指的是在不同的进程之间进行传播或交换信息。
在一个实施例中,移动终端可检测是否存在与前台进程具有通信机制的后台进程,并可将与前台进程具有通信机制的后台进程确定为具备依赖关系的后台进程。通信机制可包括socket、binder、共享内存等,其中,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket;binder是一种进程间通信机制,提供远程过程调用功能;共享内存就是允许两个不相关的进程访问同一个逻辑内存,共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式,不同进程之间共享的内存通常安排为同一段物理内存。可选地,移动终端可检测是否存在与前台运行的进程具有socket和/或binder通信的后台进程,并可将与前台运行的进程具有socket和/或binder通信的后台进程确定为具备依赖关系的后台进程。移动终端也可以检测是否存在与前台运行的进程进行内存共享的后台进程,并可将与前台运行的进程进行内存共享的后台进程确定为具备依赖关系的后台进程。在一个实施例中,移动终端可在binder驱动中添加检测机制,并根据binder驱动中添加的检测机制检测是否存在与前台进程具有通信机制的后台进程。
在一个实施例中,移动终端可检测是否存在与前台进程具有同步机制的后台进程,并可将与前台进程具有同步机制的后台进程确定为具备依赖关系的后台进程。同步机制可包括信号量、互斥锁等,其中,信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程,互斥锁可用于保证共享数据的完整性,任意时刻只有一个进程可访问上具备有互斥锁的对象。可选地,移动终端可通过futex(fast userspacemutex,快速用户空间互斥体)系统的调用检测是否存在与前台进程具有同步机制的后台进程。futex系统的调用可用于实现进程间的同步机制,在用户空间中进行操作,是一种用户态(user mode)和内核态混合机制,其中,用户态指的是非特权状态。
在一个实施例中,当移动终端检测到前台进程发生锁等待行为时,可确定前台进程等待的锁资源。锁资源可包括线程锁、文件句柄、信号等,其中,文件句柄指的是从文件读取数据时,操作系统函数取回的顺序号,从而能够打开文件,文件句柄对于打开的文件是唯一的识别依据。移动终端可遍历所有在后台运行的进程,并检测是否存在等待在与前台进程同一锁资源的后台进程,可将与前台进程等待在同一锁资源的后台进程确定为具有依赖关系的后台进程。
在一个实施例中,移动终端可检测与前台进程具备依赖关系的后台进程,是否结束该依赖关系。比如,移动终端可检测后台进程是否结束与前台运行的进程的socket和/或binder通信,若结束通信,则可判定结束依赖关系。移动终端也可以检测与前台运行的进程等待在同一锁资源的后台进程是否完成任务,若任务完成,则可判断结束依赖关系,但不限于此。移动终端可将结束依赖关系的后台进程恢复到降低之前的资源限制等级,重新对后台进程的资源使用进行限制。
在本实施例中,可降低与前台进程具备依赖关系的后台进程的资源限制等级,保证前台进程能够及时得到响应,防止因后台进程的资源使用受到限制而使前台进程进入等待,在降低功耗的同时提高前台的运行速度。
在一个实施例中,提供一种资源管理方法,包括以下步骤:
步骤(1),当检测到应用进入后台运行时,获取应用在预设时间段内在后台运行时的资源使用数据。
步骤(2),根据资源使用数据获取应用使用的资源种类。
步骤(3),根据资源使用数据确定应用在资源种类下的资源限制等级。
可选地,步骤(3),包括:获取应用使用的资源种类当前未被占用的比例;若资源种类当前未被占用的比例小于预设阈值,则根据资源使用数据确定应用在资源种类下的资源限制等级。
步骤(4),将应用分配到资源种类下与资源限制等级对应的资源组别中,并配置与资源限制等级对应的资源使用优先级。
可选地,步骤(4),包括:获取应用的用户组信息;查询与用户组信息具备映射关系的进程标识;将与进程标识匹配的后台进程分配到资源种类下与资源限制等级对应的资源组别中。
可选地,上述资源管理方法,还包括:获取在前台运行的前台进程;当存在与前台进程具备依赖关系的后台进程时,降低具备依赖关系的后台进程的资源限制等级。
可选地,在获取在前台运行的前台进程之后,还包括:当后台进程与前台进程具备同步机制和/或通信机制时,将具备同步机制和/或通信机制的后台进程确定为具备依赖关系的后台进程。
可选地,在获取在前台运行的前台进程之后,还包括:当检测到前台进程发生锁等待行为时,确定等待的锁资源;若存在等待在所述锁资源的后台进程,则将等待在所述锁资源的后台进程确定为具备依赖关系的后台进程。
可选地,在降低所述具备依赖关系的后台进程的资源限制等级之后,还包括:当前台进程结束与后台进程的依赖关系时,恢复结束依赖关系的后台进程在降低之前的资源限制等级。
在本实施例中,当检测到应用进入后台运行时,可获取该应用在预设时间段内在后台运行时的资源使用数据,根据资源使用数据确定应用使用的资源种类及资源种类下的资源限制等级,并将应用分配到使用的资源种类下与资源限制等级对应的资源配置中,配置与资源限制等级对应的资源使用优先级,可以对后台应用动态实现在不同资源种类下不同等级的资源限制,优化系统性能,节省功耗。
应该理解的是,上述的流程示意图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述的流程示意图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图7所示,在一个实施例中,提供一种资源管理装置700,包括数据获取模块710、种类获取模块720、等级确定模块730及配置模块740。
数据获取模块710,用于当检测到应用进入后台运行时,获取应用在预设时间段内在后台运行时的资源使用数据。
种类获取模块720,用于根据资源使用数据获取应用使用的资源种类。
等级确定模块730,用于根据资源使用数据确定应用在所述资源种类下的资源限制等级。
配置模块740,用于将应用分配到所述资源种类下与资源限制等级对应的资源组别中,并配置与资源限制等级对应的资源使用优先级。
在本实施例中,当检测到应用进入后台运行时,可获取该应用在预设时间段内在后台运行时的资源使用数据,根据资源使用数据确定应用使用的资源种类及资源种类下的资源限制等级,并将应用分配到使用的资源种类下与资源限制等级对应的资源配置中,配置与资源限制等级对应的资源使用优先级,可以对后台应用动态实现在不同资源种类下不同等级的资源限制,优化系统性能,节省功耗。
如图8所示,在一个实施例中,等级确定模块730,包括比例获取单元732及确定单元734。
比例获取单元732,用于获取应用使用的资源种类当前未被占用的比例。
确定单元734,用于若资源种类当前未被占用的比例小于预设阈值,则根据资源使用数据确定应用在所述资源种类下的资源限制等级。
在本实施例中,当进入后台运行的应用使用的资源种类当前未被占用的比例小于预设阈值,则根据该应用的资源使用数据确定该应用在该资源种类下的资源限制等级,可以对后台应用动态实现在不同资源种类下不同等级的资源限制,优化系统性能,节省功耗。
如图9所示,在一个实施例中,配置模块740,包括信息获取单元742、查询单元744及分配单元746。
信息获取单元742,用于获取应用的用户组信息。
查询单元744,用于查询与用户组信息具备映射关系的进程标识。
分配单元746,用于将与进程标识匹配的后台进程分配到资源种类下与资源限制等级对应的资源组别中。
在本实施例中,可根据应用的用户组信息查找到具有映射关系的进程标识,并将与进程标识匹配的后台进程添加到与使用的资源种类下与确定的资源限制等级对应的资源组别中,可按照资源限制等级对后台应用下运行的各个进程进行统一的资源使用管理,优化系统性能,节省功耗。
在一个实施例中,上述资源管理装置700,除了包括数据获取模块710、种类获取模块720、等级确定模块730及配置模块740,还包括进程获取模块。
进程获取模块,用于获取在前台运行的前台进程。
配置模块740,还用于当存在与前台进程具备依赖关系的后台进程时,降低具备依赖关系的后台进程的资源限制等级。
可选地,上述资源管理装置700,还包括依赖关系确定模块。
依赖关系确定模块,用于当后台进程与所述前台进程具备同步机制和/或通信机制时,将具备同步机制和/或通信机制的后台进程确定为具备依赖关系的后台进程。
可选地,依赖关系确定模块,还用于当检测到前台进程发生锁等待行为时,确定等待的锁资源,若存在等待在锁资源的后台进程,则将等待在锁资源的后台进程确定为具备依赖关系的后台进程。
可选地,配置模块740,还用于当前台进程结束与后台进程的依赖关系时,恢复结束依赖关系的后台进程在降低之前的资源限制等级。
在本实施例中,可降低与前台进程具备依赖关系的后台进程的资源限制等级,保证前台进程能够及时得到响应,防止因后台进程的资源使用受到限制而使前台进程进入等待,在降低功耗的同时提高前台的运行速度。
图10为与本申请实施例提供的移动终端相关的手机的部分结构的框图。参考图10,手机包括:射频(Radio Frequency,RF)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(wireless fidelity,WiFi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图10所示的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,RF电路1010可用于收发信息或通话过程中,信号的接收和发送,可将基站的下行信息接收后,给处理器1080处理;也可以将上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于GSM、GPRS、码分多址(Code DivisionMultiple Access,CDMA)、W-CDMA、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能的应用程序、图像播放功能的应用程序等)等;数据存储区可存储根据手机的使用所创建的数据(比如音频数据、通讯录等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1030可用于接收输入的数字或字符信息,以及产生与手机1000的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1032以及其他输入设备1034。触控面板1032,也可称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1032上或在触控面板1032附近的操作),并根据预先设定的程式驱动相应的连接装置。在一个实施例中,触控面板1032可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1032。除了触控面板1032,输入单元1030还可以包括其他输入设备1034。具体地,其他输入设备1034可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。
显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1042。在一个实施例中,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1042。在一个实施例中,触控面板1032可覆盖显示面板1042,当触控面板1032检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1042上提供相应的视觉输出。虽然在图10中,触控面板1032与显示面板1042是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1032与显示面板1042集成而实现手机的输入和输出功能。
手机1000还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1042的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1042和/或背光。运动传感器可包括加速度传感器,通过加速度传感器可检测各个方向上加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换)、振动识别相关功能(比如计步器、敲击)等;此外,手机还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器等。
音频电路1060、扬声器1062和传声器1064可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1062,由扬声器1062转换为声音信号输出;另一方面,传声器1064将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010可以发送给另一手机,或者将音频数据输出至存储器1020以便后续处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了WiFi模块1070,但是可以理解的是,其并不属于手机1000的必须构成,可以根据需要而省略。
处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。在一个实施例中,处理器1080可包括一个或多个处理单元。在一个实施例中,处理器1080可集成应用处理器和调制解调器,其中,应用处理器主要处理操作系统、用户界面和应用程序等;调制解调器主要处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1080中。比如,该处理器1080可集成应用处理器和基带处理器,基带处理器与和其它外围芯片等可组成调制解调器。手机1000还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
在一个实施例中,手机1000还可以包括摄像头、蓝牙模块等。
在本申请实施例中,该移动终端所包括的处理器880执行存储在存储器上的计算机程序时实现上述的资源管理方法。
在一个实施例中,该移动终端可包括存储器1020及处理器1080,存储器1020中存储有计算机程序,该计算机程序被处理器1080执行时,使得处理器执行如下步骤:
当检测到应用进入后台运行时,获取应用在预设时间段内在后台运行时的资源使用数据;
根据资源使用数据获取应用使用的资源种类;
根据资源使用数据确定应用在资源种类下的资源限制等级;
将应用分配到所述资源种类下与资源限制等级对应的资源组别中,并配置与资源限制等级对应的资源使用优先级。
在一个实施例中,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的资源管理方法。
在一个实施例中,提供一种包含计算机程序的计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行时实现上述的资源管理方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
如此处所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种资源管理方法,其特征在于,包括:
当检测到应用进入后台运行时,获取所述应用在预设时间段内在后台运行时的资源使用数据;
根据所述资源使用数据获取所述应用使用的资源种类;
根据所述资源使用数据确定所述应用在所述资源种类下的资源限制等级;
将所述应用分配到所述资源种类下与所述资源限制等级对应的资源组别中,并配置与所述资源限制等级对应的资源使用优先级。
2.根据权利要求1所述的方法,其特征在于,所述根据所述资源使用数据确定所述应用在所述资源种类下的资源限制等级,包括:
获取所述应用使用的资源种类当前未被占用的比例;
若所述资源种类当前未被占用的比例小于预设阈值,则根据所述资源使用数据确定所述应用在所述资源种类下的资源限制等级。
3.根据权利要求1所述的方法,其特征在于,所述将所述应用分配到所述资源种类下与所述资源限制等级对应的资源组别中,包括:
获取所述应用的用户组信息;
查询与所述用户组信息具备映射关系的进程标识;
将与所述进程标识匹配的后台进程分配到所述资源种类下与所述资源限制等级对应的资源组别中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取在前台运行的前台进程;
当存在与所述前台进程具备依赖关系的后台进程时,降低所述具备依赖关系的后台进程的资源限制等级。
5.根据权利要求4所述的方法,其特征在于,在所述获取在前台运行的前台进程之后,所述方法还包括:
当后台进程与所述前台进程具备同步机制和/或通信机制时,将具备同步机制和/或通信机制的后台进程确定为具备依赖关系的后台进程。
6.根据权利要求4所述的方法,其特征在于,在所述获取在前台运行的前台进程之后,所述方法还包括:
当检测到所述前台进程发生锁等待行为时,确定等待的锁资源;
若存在等待在所述锁资源的后台进程,则将所述等待在所述锁资源的后台进程确定为具备依赖关系的后台进程。
7.根据权利要求4至6任一所述的方法,其特征在于,在所述降低所述具备依赖关系的后台进程的资源限制等级之后,所述方法还包括:
当所述前台进程结束与所述后台进程的依赖关系时,恢复结束依赖关系的后台进程在降低之前的资源限制等级。
8.一种资源管理装置,其特征在于,包括:
数据获取模块,用于当检测到应用进入后台运行时,获取所述应用在预设时间段内在后台运行时的资源使用数据;
种类获取模块,用于根据所述资源使用数据获取所述应用使用的资源种类;
等级确定模块,用于根据所述资源使用数据确定所述应用在所述资源种类下的资源限制等级;
配置模块,用于将所述应用分配到所述资源种类下与所述资源限制等级对应的资源组别中,并配置与所述资源限制等级对应的资源使用优先级。
9.一种移动终端,包括存储器及处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器实现如权利要求1至7任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一所述的方法。
CN201810023902.5A 2018-01-10 2018-01-10 资源管理方法、装置、移动终端及计算机可读存储介质 Pending CN110018903A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810023902.5A CN110018903A (zh) 2018-01-10 2018-01-10 资源管理方法、装置、移动终端及计算机可读存储介质
PCT/CN2018/122086 WO2019137173A1 (zh) 2018-01-10 2018-12-19 资源管理方法、移动终端及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810023902.5A CN110018903A (zh) 2018-01-10 2018-01-10 资源管理方法、装置、移动终端及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN110018903A true CN110018903A (zh) 2019-07-16

Family

ID=67188104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810023902.5A Pending CN110018903A (zh) 2018-01-10 2018-01-10 资源管理方法、装置、移动终端及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN110018903A (zh)
WO (1) WO2019137173A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527445A (zh) * 2019-09-18 2021-03-19 北京国双科技有限公司 任务调度方法、装置、设备及存储介质
CN116567132A (zh) * 2022-01-28 2023-08-08 荣耀终端有限公司 一种功耗控制方法及装置
WO2023241052A1 (zh) * 2022-06-15 2023-12-21 中兴通讯股份有限公司 应用的运行状态调节方法、终端及存储介质
CN117349006A (zh) * 2023-09-14 2024-01-05 荣耀终端有限公司 Cpu资源管理方法及相关装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170034380A1 (en) * 2014-04-08 2017-02-02 Canon Information And Imaging Solutions, Inc. Apparatus, system and method for managing background processing on an image processing device
US20170031721A1 (en) * 2013-04-24 2017-02-02 Samsung Electronics Co., Ltd Method and device for managing memory of user device
CN106681475A (zh) * 2016-12-12 2017-05-17 北京珠穆朗玛移动通信有限公司 降低移动终端功耗的方法及移动终端
CN106792165A (zh) * 2016-12-02 2017-05-31 武汉斗鱼网络科技有限公司 一种资源动态调整方法及装置
CN107391241A (zh) * 2017-06-22 2017-11-24 努比亚技术有限公司 应用快速启动方法、终端及计算机可读存储介质
CN107436801A (zh) * 2017-06-23 2017-12-05 努比亚技术有限公司 I/o资源调度方法、终端和计算机可读存储介质
CN107544842A (zh) * 2017-08-25 2018-01-05 广东欧珀移动通信有限公司 应用程序处理方法和装置、计算机设备、存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103645955A (zh) * 2013-12-16 2014-03-19 百度在线网络技术(北京)有限公司 应用程序的运行管理方法和装置
CN104268022B (zh) * 2014-09-23 2017-06-27 浪潮(北京)电子信息产业有限公司 一种操作系统中进程的资源分配方法及系统
CN105912397A (zh) * 2016-03-31 2016-08-31 乐视控股(北京)有限公司 一种资源管理方法和装置
CN107291557B (zh) * 2017-08-02 2020-10-23 中国银行股份有限公司 一种业务处理方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170031721A1 (en) * 2013-04-24 2017-02-02 Samsung Electronics Co., Ltd Method and device for managing memory of user device
US20170034380A1 (en) * 2014-04-08 2017-02-02 Canon Information And Imaging Solutions, Inc. Apparatus, system and method for managing background processing on an image processing device
CN106792165A (zh) * 2016-12-02 2017-05-31 武汉斗鱼网络科技有限公司 一种资源动态调整方法及装置
CN106681475A (zh) * 2016-12-12 2017-05-17 北京珠穆朗玛移动通信有限公司 降低移动终端功耗的方法及移动终端
CN107391241A (zh) * 2017-06-22 2017-11-24 努比亚技术有限公司 应用快速启动方法、终端及计算机可读存储介质
CN107436801A (zh) * 2017-06-23 2017-12-05 努比亚技术有限公司 I/o资源调度方法、终端和计算机可读存储介质
CN107544842A (zh) * 2017-08-25 2018-01-05 广东欧珀移动通信有限公司 应用程序处理方法和装置、计算机设备、存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527445A (zh) * 2019-09-18 2021-03-19 北京国双科技有限公司 任务调度方法、装置、设备及存储介质
CN116567132A (zh) * 2022-01-28 2023-08-08 荣耀终端有限公司 一种功耗控制方法及装置
WO2023241052A1 (zh) * 2022-06-15 2023-12-21 中兴通讯股份有限公司 应用的运行状态调节方法、终端及存储介质
CN117349006A (zh) * 2023-09-14 2024-01-05 荣耀终端有限公司 Cpu资源管理方法及相关装置

Also Published As

Publication number Publication date
WO2019137173A1 (zh) 2019-07-18

Similar Documents

Publication Publication Date Title
CN109992400A (zh) 资源分配方法、装置、移动终端及计算机可读存储介质
CN107220076B (zh) 一种内存回收方法及装置
CN109992398A (zh) 资源管理方法、装置、移动终端及计算机可读存储介质
CN110032267A (zh) 信息处理方法、装置、移动终端及计算机可读存储介质
CN107544842B (zh) 应用程序处理方法和装置、计算机设备、存储介质
CN110018903A (zh) 资源管理方法、装置、移动终端及计算机可读存储介质
CN109992393A (zh) 应用处理方法和装置、电子设备、计算机可读存储介质
CN109992399A (zh) 资源管理方法、装置、移动终端及计算机可读存储介质
CN109144232A (zh) 进程处理方法和装置、电子设备、计算机可读存储介质
CN110032439A (zh) 资源管理方法、装置、移动终端及计算机可读存储介质
CN110018902A (zh) 内存处理方法和装置、电子设备、计算机可读存储介质
CN110018900A (zh) 内存处理方法和装置、电子设备、计算机可读存储介质
CN109992367A (zh) 应用处理方法和装置、电子设备、计算机可读存储介质
CN110032429B (zh) 信息处理方法、装置、移动终端及计算机可读存储介质
CN107526638A (zh) 应用程序处理方法、装置、移动终端及存储介质
CN106371326A (zh) 设备工作场景的存储方法及装置
CN109992397A (zh) 进程处理方法和装置、电子设备、计算机可读存储介质
CN110046032A (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN109992360A (zh) 进程处理方法和装置、电子设备、计算机可读存储介质
CN110032397A (zh) 应用处理方法和装置、电子设备、计算机可读存储介质
CN110018888A (zh) 资源管理方法、装置、移动终端及计算机可读存储介质
CN109992309A (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN109992363A (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN109992522A (zh) 应用处理方法和装置、电子设备、计算机可读存储介质
CN110018885A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190716