CN110046031A - 应用处理方法和装置、电子设备、计算机可读存储介质 - Google Patents

应用处理方法和装置、电子设备、计算机可读存储介质 Download PDF

Info

Publication number
CN110046031A
CN110046031A CN201810031703.9A CN201810031703A CN110046031A CN 110046031 A CN110046031 A CN 110046031A CN 201810031703 A CN201810031703 A CN 201810031703A CN 110046031 A CN110046031 A CN 110046031A
Authority
CN
China
Prior art keywords
application
target application
duration
preset duration
timing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810031703.9A
Other languages
English (en)
Other versions
CN110046031B (zh
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 CN201810031703.9A priority Critical patent/CN110046031B/zh
Publication of CN110046031A publication Critical patent/CN110046031A/zh
Application granted granted Critical
Publication of CN110046031B publication Critical patent/CN110046031B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping

Abstract

本申请提供一种应用处理方法和装置、电子设备、计算机可读存储介质。所述方法包括:从目标应用被切换到后台的切换时刻开始计时;检测在第一预设时长之内,所述目标应用是否被前台应用依赖,所述第一预设时长的起始时刻为开始计时的时刻;当未被前台应用依赖时,则在计时时长达到所述第一预设时长之后,对所述目标应用进行资源限制处理。上述方法可提高对应用的处理的灵活性。

Description

应用处理方法和装置、电子设备、计算机可读存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用处理方法和装置、电子设备、计算机可读存储介质。
背景技术
智能设备可以通过应用实现不同的应用操作,比如可以通过购物类应用购买商品、通过视频类应用查看视频等。智能设备可以对应用进行资源限制处理,对资源进行限制后的应用仅能占用有限的资源,而不能对设备的资源进行无限制地使用。应用可以被冻结,冻结后的应用无法再继续运行,不会占用智能设备中处理器资源,降低了智能设备的功耗、提高前台应用的流畅度。
传统的方法都是采用固定的模式对电子设备中的应用进行限制处理,然而由于电子设备中的应用多种多样,对某一应用的限制处理有可能影响到其它应用的处理效率。因此,传统的针对应用的处理方式不够灵活。
发明内容
本申请实施例提供一种应用处理方法和装置、电子设备、计算机可读存储介质,可以提高对应用处理的灵活性。
一种应用处理方法,包括:从目标应用被切换到后台的切换时刻开始计时;检测在第一预设时长之内,所述目标应用是否被前台应用依赖,所述第一预设时长的起始时刻为开始计时的时刻;当未被前台应用依赖时,则在计时时长达到所述第一预设时长之后,对所述目标应用进行资源限制处理。
一种应用处理装置,包括:计时模块,用于从目标应用被切换到后台的切换时刻开始计时;依赖检测模块,用于检测在第一预设时长之内,所述目标应用是否被前台应用依赖,所述第一预设时长的起始时刻为开始计时的时刻;资源限制模块,用于当未被前台应用依赖时,则在计时时长达到所述第一预设时长之后,对所述目标应用进行资源限制处理。
一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本申请各实施例中所述的应用处理方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请各实施例中所述的应用处理方法的步骤。
本申请实施例提供的应用处理方法和装置、电子设备、计算机可读存储介质,通过从目标应用被切换到后台的切换时刻开始计时,若从计时时刻开始,到计时时长达到第一预设时长的第一预设时长之内,目标应用没有被前台应用依赖,则对目标应用进行资源限制处理,从而可防止对目标应用的限制造成对前台应用的影响,提高了对电子设备对应用的处理的灵活性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中电子设备的内部结构示意图;
图2为一个实施例中电子设备中的系统的部分框架示意图;
图3为一个实施例中应用处理方法的流程图;
图4为一个实施例中确定目标应用对应的第一预设时长的流程图;
图5为一个实施例中应用处理流程的示意图;
图6为另一个实施例中应用处理方法的流程图;
图7为一个实施例中应用处理装置的结构框图;
图8为另一个实施例中应用处理装置的结构框图;
图9为一个实施例中手机的部分结构的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一预设时长称为第二预设时长,且类似地,可将第二预设时长称为第一预设时长。第一预设时长和第二预设时长两者都是时长阈值,但其不是同一时长阈值。
在一个实施例中,如图1所示,提供了一种电子设备的内部结构示意图。该电子设备包括通过系统总线连接的处理器、存储器和显示屏。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器用于存储数据、程序、和/或指令代码等,存储器上存储至少一个计算机程序,该计算机程序可被处理器执行,以实现本申请实施例中提供的适用于电子设备的应用处理方法。存储器可包括磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)等非易失性存储介质,或随机存储记忆体(Random-Access-Memory,RAM)等。例如,在一个实施例中,存储器包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现本申请各个实施例所提供的一种应用处理方法。内存储器为非易失性存储介质中的操作系统和计算机程序提供高速缓存的运行环境。显示屏可以是触摸屏,比如为电容屏或电子屏,用于显示前台应用的界面展示信息,还可以被用于检测作用于该显示屏的触摸操作,生成相应的指令,比如进行前后台应用的切换指令等。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。如该电子设备还包括通过系统总线连接的网络接口,网络接口可以是以太网卡或无线网卡等,用于与外部的电子设备进行通信,比如可用于同服务器进行通信。再比如该电子设备上并不存在通过系统总线连接的显示器,或者可连接外部显示设备。
在一个实施例中,如图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资源之外,进一步对相关进程所占用的内存资源进行回收,回收的内存可供其它进程使用。内核空间层230中包括UID管理模块231、Cgroup模块232、Binder管控模块233、进程内存回收模块234以及冻结超时退出模块235。其中,UID管理模块231用于实现基于应用的用户身份标识(UserIdentifier,UID)来管理第三方应用的资源或进行冻结。相比较于基于进程身份标识(Process Identifier,PID)来进行进程管控,通过UID更便于统一管理一个用户的应用的资源。Cgroup模块232用于提供一套完善的中央处理器(Central Processing Unit,CPU)、CPUSET、内存(memory)、输入/输出(input/output,I/O)和Net相关的资源限制机制。Binder管控模块233用于实现后台binder通信的优先级的控制。其中,本地框架层220的接口模块包含开发给上层的binder接口,上层的框架或者应用通过提供的binder接口来发送资源限制或者冻结的指令给资源优先级和限制管理模块222和平台冻结管理模块224。进程内存回收模块234用于实现进程深度冻结模式,这样能当某个第三方应用长期处于冻结状态的时候,会主要释放掉进程的文件区,从而达到节省内存的模块,也加快该应用在下次启动时的速度。冻结超时退出模块235用于解决出现冻结超时场景产生的异常。通过上述的架构,可实现本申请各个实施例中的应用处理方法。
在一个实施例中,如图3所示,提供了一种应用处理方法,本实施例以该方法应用于如图1所示的电子设备为例进行说明。该方法包括:
步骤302,从目标应用被切换到后台的切换时刻开始计时。
一个应用(Application,简称APP)的运行通常是由相关的多个进程的运行而体现的。进程(process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。目标应用为被设置的是否需要进行资源限制处理的应用。目标应用可为游戏类应用、音乐类应用或社交类应用或支付类应用等类型的应用。例如,用户可以通过游戏类应用玩游戏,也可以通过视频类应用看视频,还可以通过音乐类应用播放音乐等。
应用可以根据运行的状态分为前台应用和后台应用。前台应用是指在电子设备的前台运行的应用,前台应用可以在与在前台显示并与用户实现交互。后台应用是指在电子设备的后台运行的应用,后台应用一般不能在前台显示并与用户实现交互过程。电子设备可控制不同应用之间的前后台运行的切换。
在一个实施例中,针对该目标应用,可设置对应的计时器,当在检测到目标应用开始进入后台运行的时刻,则开启该计时器并进行计时,当检测到目标应用被切换到前台时,对计时得到的计时时长清零。而当检测到目标应用又被切换到后台运行时,则重新开始计时。
步骤304,检测在第一预设时长之内,目标应用是否被前台应用依赖。
第一预设时长的起始时刻为开始计时的时刻。第一预设时长的时长大小为用于决定是否对目标应用进行资源限制的参考数值。第一预设时长可被设置为任意合适的数值,该数值可为用户自定义设置的数值,或者还可为根据对目标应用的使用频率而设置的数值。电子设备针对不同的目标应用,可设置对应的第一预设时长。比如可针对某一目标应用,自定义设置对应的第一预设时长为1小时或10分钟等任意时长。
依赖表示表示一个应用需要利用于另一个或多个应用的数据才能顺利实现对该一个应用的执行的关系。存在依赖关系的两个应用,分别为被依赖的应用和依赖的应用。由于应用的运行通常是由相关的多个进程的运行而体现的,应用之间的依赖也表现为进程之间的依赖。比如应用A中的某一进程a依赖于应用B中的某一进程b,即该进程b被进程a依赖,进程a需要利用进程b的数据才能实现对该进程a的执行,也说明了应用A依赖于应用B,或应用B被应用A依赖,应用A需要利用应用B的数据才能实现对该应用A的执行,此时,应用A即为被依赖的应用。可以理解地,依赖的应用还可能为第一应用,第二应用可能为后台应用。电子设备可从后台应用集合中进行检测,以查询出是否存在被前台应用依赖的后台应用。
在一个实施例中,获取预先设置的与目标应用对应的第一预设时长。电子设备可预先针对目标应用设置的对应的第一预设时长。具体地,可接收用户选取的需要监控的应用(目标应用)以及所输入的对应的可运行时长,将该可运行时长与该应用的应用标识之间建立对应关系,根据所确定的目标应用,通过该对应关系获取该目标应用的应用标识对应的可运行时长,将该可运行时长作为第一预设时长。
在一个实施例中,不同的目标应用对应的第一预设时长不一定相同,或者同一目标应用,在不同的时间段下,对应的第一预设时长也可不一定相同。电子设备可获取预先设置的在当前时刻所属的时间段下的目标应用对应的第一预设时长。比如,在上午8:00~12:00的时间段时,对应的第一预设时长可为1小时,在晚上19:00~24:00时,该第一预设时长可为2小时。
在一个实施例中,可根据目标应用所属的应用类型来确定对应的第一预设时长。可以首先获取目标应用所对应的应用类型,然后根据应用类型获取对应的第一预设时长。例如,应用程序可以分为即时通讯类、社交类、工具类等应用类型。由于即时通讯类的实时性要求比较高,那么可以将即时通讯类应用程序的应用所对应的时长阈值,设置一个较大的值。社交类和工具类应用程序的实时性要求比较低,则可以将社交类和工具类应用程序的应用所对应的时长阈值,设置一个较小的值。
步骤306,当未被前台应用依赖时,则在计时时长达到所述第一预设时长之后,对所述目标应用进行资源限制处理。
当检测到计时时长达到第一预设时长之后,若在这一期间之内,目标应用还未被前台应用依赖,则可对目标应用进行资源限制处理。可选地,可在检测到运行时长到达第一预设时长的时刻,即开始对目标应用进行资源限制处理,或者还可在达到第一预设时长之后的某一时刻,才开始对目标应用进行资源限制处理。
其中,资源是指电子设备在处理应用事件时所必须用到的软件或硬件资源,比如电子设备的CPU(Central Processing Unit,中央处理器)、内存(Memory)、硬件、网络资源、IO(Input-Output,输入输出)等。资源限制处理是指对应用占用的资源进行限制的处理。资源限制处理可以但不限于是控制应用进入冻结状态或资源限制状态,处于冻结状态的应用没有被关闭,只是暂时不运行。若应用处于冻结状态,则应用不占用处理器资源,但是仍然占用电子设备的内存和硬件等资源。资源限制状态是指对应用在运行时使用的电子设备的资源进行限制的状态,例如控制应用在运行时使用的CPU占用率不能超过5%。
在一个实施例中,上述方法还包括:当被前台应用依赖时,则从依赖结束的时刻重新开始计时,将重新开始计时的时刻作为所述第一预设时长的起始时刻,并重新执行所述检测在第一预设时长之内,所述目标应用是否被前台应用依赖。
当被前台应用依赖时,则从依赖结束的时刻重新开始计时,将重新开始计时的时刻作为第一预设时长的起始时间段,将重新开始计时的时刻作为第一预设时长的起始时刻,然后重新检测在第一预设时长之内,目标应用是否被前台应用依赖,重新检测的第一预设时长为更新了起始时刻的时间段,该时间段的时长同样为第一预设时长。当目标应用在第一预设时长之内,未被前台应用依赖时,执行上述步骤306。
上述的应用处理方法,通过从目标应用被切换到后台的切换时刻开始计时,若从计时时刻开始,到计时时长达到第一预设时长的第一预设时长之内,目标应用没有被前台应用依赖,则对目标应用进行资源限制处理,从而可防止对目标应用的限制造成对前台应用的影响,提高了对电子设备对应用的处理的灵活性。
在一个实施例中,如图4所示,上述方法还包括确定目标应用对应的第一预设时长的步骤,该步骤可在上述的步骤304之前执行,包括:
步骤402,获取目标应用的历史运行数据。
应用在运行的过程中,电子设备可以将应用产生的数据进行记录。历史运行数据就是应用在当前时刻之前的历史运行过程中产生的数据。例如,历史运行数据可以包括应用在从安装到当前时刻之间,每次运行所消耗的电子设备的电量,或者应用每次运行时时长、应用启动时刻和应用关闭时刻等。
在一个实施例中,历史运行数据包括目标应用的每次运行时间段和每次平均运行时长。
平均运行时长表示电子设备在单位时长内平均运行的时长,单位时长可以预先进行设置。例如,平均运行时长可以是统计的电子设备平均每天内运行的时长,或者可以是统计的电子设备平均一个月内运行的时长。具体地,电子设备在运行过程中会记录每次进入工作状态的工作开始时刻和工作结束时刻,然后根据记录的工作开始时刻和工作结束时刻可以计算每次工作的工作时长。在一个实施例中,该运行时长表示处于前台运行的运行时长。
在计算平均运行时长时,可以获取电子设备在统计时段内的运行数据,然后根据运行数据计算运行时长。统计时段是指用于统计平均运行时长的时间段,运行数据是指电子设备在运行过程中产生的数据,可以包括工作开始时刻和工作结束时刻。根据统计时段内的运行数据可以计算统计时段内每个单位时长内的运行时长,并根据获取的每个单位时长内的运行时长计算平均运行时长。例如,当前时刻为2017年12月25日15:30:00,则统计时段可以是前一个月内的运行数据,即获取从2017年11月25日15:30:00到2017年12月25日15:30:00内电子设备的运行数据。然后根据运行数据计算这一个月内每天的运行时长,再将每天的运行时长进行平均得到平均运行时长。
步骤404,根据历史运行数据确定对目标应用的依赖程度。
用户依赖程度用于表示用户对电子设备的依赖程度,依赖程度可分为多个级别。比如按照依赖级别的高低从高到低包括第一级依赖程度、第二级依赖程度和第三级依赖程度。其中,第一级依赖程度高于第二级依赖程度,第二级依赖程度高于第三级依赖程度。一般地,第一级依赖程度表示用户对电子设备的重度依赖,第二级依赖程度表示用户对电子设备的普通依赖,第三级依赖程度表示用户对电子设备的轻度依赖。
在一个实施例中,根据使用频率和每次平均运行时长计算出对目标应用的依赖程度。
可选地,可预先建立平均运行时长和用户依赖程度的对应关系,然后根据平均运行时长获取对应的用户依赖程序。例如,平均运行时长可以表示为手机平均每天运行的时长,若用户平均每天运行的时长在8小时以上,则对应的用户依赖程度为第一级依赖程度;若用户平均每天运行的时长在4到8小时,则对应的用户依赖程度为第二级依赖程度;若用户平均每天运行的时长在4小时以下,则对应的用户依赖程度为第三级依赖程度。
在一个实施例中,可获取目标应用的平均运行时长,确定平均运行时长落入的目标时长区间;根据目标时长区间获取对应的用户依赖程度。
可以预先将电子设备的平均运行时长的取值范围划分为两个以两个以上的时长区间,被划分的时长区间即为目标时长区间。然后建立每个时长区间与用户依赖程度的对应关系,然后根据该对应关系来获取电子设备的用户依赖程度。例如,计算平均运行时长的单位时长可以为三天,那么平均运行时长可以表示为电子设备每三天内平均运行的时长,则平均运行时长的取值范围就为0到72小时。将平均运行时长的取值范围划分为三个时长区间,则可以分为[0,12]、[12,36]、[36,72]等三个时长区间,对应的用户依赖程度为第一级依赖程度、第二级依赖程度和第三级依赖程度。假设当前统计的电子设备的平均运行时长为24小时,那么该用户就对应的用户依赖程度就为第二级依赖程度。
步骤406,根据依赖程度确定与目标应用对应的第一预设时长。
在一个实施例中,不同的依赖程度对应的第一预设时长不一定相同。可选地,第一预设时长的大小与依赖程度的大小呈正相关。针对依赖程度大的,可设置对应的第一预设时长相应较,将所设置的第一预设时长与对应的依赖程度建立关联关系,在确定依赖程度后,可根据该对应关系确定相应的第一预设时长。
上述方法中,通过根据目标应用的历史运行数据来确定第一预设时长,可提高了对第一预设时长设置的灵活性。
在一个实施例中,在计时时长达到第一预设时长之后,对目标应用进行资源限制处理,包括:当计时时长达到第一预设时长时,控制目标应用进入资源限制状态;当计时时长达到第二预设时长时,冻结目标应用,第二预设时长大于第一预设时长。
可选地,电子设备还可设置第一预设时长和第二预设时长,其中,第一预设时长小于第二预设时长。第一预设时长为用于决定是否控制目标应用进入资源限制状态的参考数值,第二预设时长为用于决定是否对目标应用进行冻结的参考数值。
处于资源限制状态的应用在运行时对电子设备的资源占用率小于占用率阈值,当目标应用处于资源限制状态时,目标应用对电子设备的资源占用率就不能超过占用率阈值,这样可以控制目标应用在前台的运行效率,降低用户对电子设备的依赖。例如,控制目标应用在运行时的CPU占用率不能超过5%,以减少目标应用对CPU的过度消耗,降低用户对电子设备上的目标应用的依赖。
当目标应用的计时时长已经达到了第二预设时长时,则表示在目标应用进入后台的时长已经达到了第二预设时长,且在这一第二预设时长的时长期间之内,该目标应用还未被前台应用依赖,因而可进一步控制目标应用进入冻结状态。进入冻结状态的目标应用,无法再继续运行,这样可以进一步减少目标应用对电子设备的资源占用,提高电子设备的可利用资源。
在一个实施例中,控制目标应用进入资源限制状态,包括:获取目标应用对应的优先级,根据优先级获取对应的资源限制级别;控制目标应用进入资源限制级别对应的资源限制状态。
优先级表示应用对资源占用的优先级别,用于反映相应应用的重要程度。优先级可包括多中级别,不同应用的优先级不一定相同,可以预先进行设置各个应用的优先级。例如,可以将系统级应用设置为较高的优先级,第三方应用设置为较低的优先级。或者可以根据应用的类型来对应用程序的优先级进行设置,即时通讯类应用设置为较高的优先级,工具类应用设置为较低的优先级。还可以根据其他标准来设置应用的优先级,在此不进行具体限定。资源限制级别是指对应用使用的资源进行限制的程度,资源限制级别越高,则对资源限制的程度越大。电子设备可建立不同的优先级与不同的资源限制级别之间的对应关系,其中,优先级越高,则对应的资源限制级别越低。
可以理解的是,不同的应用可能依赖的资源会有所不同,则可以根据应用依赖的资源类型来控制应用的资源限制类型。例如,一些本地应用可能使用的网络资源比较少,而一些需要进行网络通信的应用使用的网络资源会比较多,可以对网络资源使用比较多的应用进行网络资源的限制。具体地,获取目标应用的资源占用历史数据,根据资源占用历史数据获取目标应用对应的依赖资源类型,并根据依赖资源类型和资源限制级别控制目标应用进入资源限制状态。其中,资源占用历史数据是指应用历史占用资源的数据,依赖资源类型即为应用运行时所依赖的资源的类型。
通过设置应用的优先级以及资源限制级别,并控制目标应用进入资源限制级别对应的资源限制状态,从而可使得对目标应用的资源限制处于一个合适的程度。
在一个实施例中,在对目标应用进行资源限制处理之后,还包括:获取从对目标应用进行资源限制处理的时刻到当前时刻的限制时长;若限制时长超过限制时长阈值,则将目标应用恢复到正常运行状态。
针对目标应用,电子设备还设置了对应的限制时长阈值。在对目标应用进行资源限制处理之后,电子设备可进一步统计该目标应用处于资源限制状态的限制时长,该限制时长的起始时刻为目标应用进行资源限制处理的时刻。当限制时长超过限制时长阈值时,将目标应用恢复到正常运行状态。若目标应用处于资源限制状态,则解除电子设备对目标应用的资源限制。若目标应用处于冻结状态,则将目标应用从冻结状态中唤醒。恢复到正常运行状态后,目标应用对电子设备资源的使用不再受到限制。
图5为一个实施例中应用的资源限制状态的示意图。如图5所示,电子设备的资源包括CPU、内存、IO、网络资源等,应用的状态可以分为正常运行状态、资源限制状态和冻结状态。其中,资源限制状态又可以分为轻度资源限制状态、普通资源限制状态和深度资源限制状态。在不同资源限制状态下,对应的可用资源502和不可用资源504不相同。从轻度资源限制状态、普通资源限制状态到深度资源限制状态,可用资源502递减。在正常运行状态下,应用的可用资源502为100%。通过对目标应用的限制进行解除,可进一步提高对目标应用的处理的灵活性。
在一个实施例中,上述方法还包括:当目标应用与前台应用之间存在通信机制或同步机制时,判定目标应用被前台应用依赖。
在一个实施例中,当目标应用与前台应用之间存在socket通信、binder通信、内存共享或锁等待时,判定后台进程与前台应用之间存在通信机制。
可通过以下任意一种或几种方式检测是否存在与前台应用具有通信机制的后台进程:
(1)检测是否存在与前台应用具有socket和/或binder通信的后台进程;
(2)检测是否存在与前台应用之间进行内存共享的后台进程;
(3)检测是否存在前台应用等待在锁资源上的后台进程。
电子设备可在Binder驱动中设置对前台应用和后台进程之间是否存在Binder通信的检测机制,并调用在Binder驱动中设置的检测机制,以检测出与前台应用存在Binder通信的后台进程,将检测出的后台进程判定为被前台应用依赖的后台进程。
在一个实施例中,电子设备可检测各个锁资源,锁资源包括线程锁,文件句柄,信号等。针对每个锁资源,可检测是否发生锁等待,即锁资源等待。当检测到产生锁等待时,可进一步检测该发生等待的行为是否发生在前台应用上。若是,则遍历等待在该锁资源上面的所有后台进程,将检测到的等待在该锁资源上的后台进程均判定为被前台应用依赖的后台进程。
在一个实施例中,电子设备可在操作系统的内核空间中设置锁资源监控模块和优先级调整模块,将锁资源监控模块内嵌到内核原生的等待接口当中。通过该锁资源监控模块,检测线程锁,文件句柄,信号等锁各种锁资源,是否发生等待,发生等待的行为是否是发生在前台应用上面,如果是发生在前台任务上面,则将检测到的消息发送至优先级调整模块。通过该优先级调整遍历等待在该锁资源上面的所有后台线程,将这些后台进程判定为被前台应用依赖的后台进程。
在一个实施例中,当后台进程与前台应用之间存在同步机制时,判定具有同步机制的目标应用为被前台应用依赖的后台进程。
电子设备还可通过调用futex系统调用检测后台进程集合中,是否存在与前台应用具有同步机制的后台进程,将具有同步机制的后台进程判定为被前台应用依赖的后台进程。
并发程序设计中,各进程对公共变量的访问必须加以制约,这种制约称为同步。在操作系统中,用户态(user mode)的同步机制可通过调用futex系统调用实现。其中,用户态指非特权状态。同步机制包括信号量、互斥锁等。当通过futex系统调用检测到与前台应用存在任意一种同步机制的后台进程时,可将检测到的后台进程判定为被前台应用依赖的后台进程。
通过对前台应用和后台进程之间的通信机制和/或同步机制的检测,将检测出的与前台应用具有通信机制和/或同步机制的后台进程判定为被前台应用依赖的后台进程,可提高对被前台应用依赖的目标应用的检测的效率。
在一个实施例中,如图6所示,提供了另一种应用处理方法,该方法包括:
步骤602,从目标应用被切换到后台的切换时刻开始计时。
在一个实施例中,可以建立目标应用的应用标识和计时器的计时标识之间的对应关系,这样可以通过应用标识对应的计时标识查找到该计时器。以Android系统为例,系统可以预先定义一个计时器,当检测到目标应用被切换至后台,或者被前台应用的依赖结束后,通过该目标应用的应用标识查找对应的计时器,并通过timer.setBase(SystemClock.elapsedRealtime())将计时器清零,然后通过timer.start()函数启动计时器,开始计时。
步骤604,检测在第一预设时长之内,目标应用是否被前台应用依赖,若是,则依赖结束的时刻重新开始计时,将重新开始计时的时刻作为所述第一预设时长的起始时刻,并重复执行步骤604,否则,执行步骤606。
其中,第一预设时长的起始时刻为开始计时的时刻。当被前台应用依赖时,则从依赖结束的时刻重新开始计时,将重新开始计时的时刻作为第一预设时长的起始时间段,将重新开始计时的时刻作为第一预设时长的起始时刻。当目标应用在第一预设时长之内,未被前台应用依赖时,执行步骤606。
在一个实施例中,可通过检测目标应用与前台应用之间是否存在通信机制或同步机制,根据检测结果来判定目标应用是否被前台应用依赖。其中,当目标应用与前台应用之间存在通信机制或同步机制时,判定目标应用被前台应用依赖。
步骤606,当计时时长达到第一预设时长时,控制目标应用进入资源限制状态;当计时时长达到第二预设时长时,冻结目标应用。
其中,第二预设时长的起始时刻也为开始计时的时刻,第二预设时长大于第一预设时长。在一个实施例中,可获取目标应用对应的优先级,根据优先级获取对应的资源限制级别;控制目标应用进入资源限制级别对应的资源限制状态。电子设备可通过上述的资源优先级和限制管理模块224来实现控制目标应用进入资源限制状态,通过上述的平台冻结管理模块224来实现对目标应用的冻结。
步骤608,获取从对目标应用进入资源限制状态的时刻到当前时刻的限制时长;若限制时长超过限制时长阈值,则将目标应用恢复到正常运行状态。
其中,限制时长阈值可大于第二预设时长,当对目标应用的冻结达到了一定的时长时,可对目标应用进行解冻,使得该目标应用恢复到正常运行状态,以使得用户在需要使用该目标应用时,可提高该目标应用的运行效率。其中,可通过上述的平台冻结管理模块224来实现对目标应用的解冻,并将目标应用恢复到正常运行状态。
上述的应用处理方法,通过设置与该目标应用对应的第一预设时长、第二预设时长和限制时长阈值,并从目标应用被切换到后台的切换时刻开始计时,当检测到目标应用在从计时时刻开始,至计时时长等于第一预设时长的时间段之内,目标应用未被前台应用依赖,则当计时时长达到第一预设时长时,控制目标应用进入资源限制状态,若还未被依赖,则在计时时长达到第二预设时长时,冻结目标应用,当对其限制的时长也达到预设的限制时长阈值时,再将目标应用恢复到正常运行状态,进一步提高了对目标应用处理的灵活性。
可以理解的是,本申请中以Android操作系统为例对应用处理方法进行说明,但是本申请的应用处理方法并不仅限于在Android系统中实现,还可以应用在IOS(IPhoneOperating System)、塞班、Windows、MAC OS(Macintosh Operating System)等操作系统中。
应该理解的是,虽然图3、图4和图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3、图4和图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种应用处理装置,该装置包括:计时模块702、依赖检测模块704以及资源限制模块706。其中,计时模块702用于从目标应用被切换到后台的切换时刻开始计时;依赖检测模块704用于检测在第一预设时长之内,所述目标应用是否被前台应用依赖,所述第一预设时长的起始时刻为开始计时的时刻;资源限制模块706用于当未被前台应用依赖时,则在计时时长达到所述第一预设时长之后,对所述目标应用进行资源限制处理。
在一个实施例中,依赖检测模块704还用于当被前台应用依赖时,则从依赖结束的时刻重新开始计时,将重新开始计时的时刻作为所述第一预设时长的起始时刻,并重新执行所述检测在第一预设时长之内,所述目标应用是否被前台应用依赖。
在一个实施例中,如图8所示,提供了另一种应用处理装置,该装置还包括:
时长确定模块708,用于获取目标应用的历史运行数据;根据历史运行数据确定对目标应用的依赖程度;根据依赖程度确定与目标应用对应的第一预设时长。
在一个实施例中,历史运行数据包括所述目标应用的每次运行时间段和每次平均运行时长;时长确定模块708还用于根据所述每次运行时间段确定对所述目标应用的使用频率;根据所述使用频率和所述每次平均运行时长计算出对所述目标应用的依赖程度。
在一个实施例中,资源限制模块706还用于当计时时长达到第一预设时长时,控制目标应用进入资源限制状态;当计时时长达到第二预设时长时,冻结所述目标应用,所述第二预设时长的起始时刻为开始计时的时刻,所述第二预设时长大于所述第一预设时长。
在一个实施例中,资源限制模块706还用于获取目标应用对应的优先级,根据优先级获取对应的资源限制级别;控制目标应用进入资源限制级别对应的资源限制状态。
在一个实施例中,资源限制模块706还用于获取从对目标应用进行资源限制处理的时刻到当前时刻的限制时长;若限制时长超过限制时长阈值,则将目标应用恢复到正常运行状态。
在一个实施例中,依赖检测模块704还用于当目标应用与前台应用之间存在通信机制或同步机制时,判定目标应用被前台应用依赖。
上述的应用处理装置,通过从目标应用被切换到后台的切换时刻开始计时,若从计时时刻开始,到计时时长达到第一预设时长的第一预设时长之内,目标应用没有被前台应用依赖,则对目标应用进行资源限制处理,从而可防止对目标应用的限制造成对前台应用的影响,提高了对电子设备对应用的处理的灵活性。
上述应用处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将应用处理装置按照需要划分为不同的模块,以完成上述应用处理装置的全部或部分功能。关于应用处理装置的具体限定可以参见上文中对于应用处理方法的限定,在此不再赘述。上述应用处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请实施例中提供的应用处理装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器等电子设备上运行。该计算机程序构成的程序模块可存储在电子设备的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述的应用处理方法的步骤。
在一个实施例中,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各实施例所提供的应用处理方法的步骤。
在一个实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序对处理器执行时,实现本申请各实施例中所描述的应用处理方法的步骤。
在一个实施例中,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请各实施例中所描述的应用处理方法。
本申请实施例还提供了一种电子设备。如图9所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该计算机设备可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑、穿戴式设备等任意终端设备,以计算机设备为手机为例:
图9为与本申请实施例提供的计算机设备相关的手机的部分结构的框图。参考图9,手机包括:射频(Radio Frequency,RF)电路910、存储器920、输入单元930、显示单元940、传感器950、音频电路960、无线保真(wireless fidelity,WiFi)模块970、处理器980、以及电源990等部件。本领域技术人员可以理解,图9所示的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,RF电路910可用于收发信息或通话过程中,信号的接收和发送,可将基站的下行信息接收后,给处理器980处理;也可以将上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路910还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System ofMobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器920可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能的应用程序、图像播放功能的应用程序等)等;数据存储区可存储根据手机的使用所创建的数据(比如音频数据、通讯录等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元930可用于接收输入的数字或字符信息,以及产生与手机900的用户设置以及功能控制有关的键信号输入。具体地,输入单元930可包括触控面板931以及其他输入设备932。触控面板931,也可称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板931上或在触控面板931附近的操作),并根据预先设定的程式驱动相应的连接装置。在一个实施例中,触控面板931可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器980,并能接收处理器980发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板931。除了触控面板931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。
显示单元940可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元940可包括显示面板941。在一个实施例中,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板941。在一个实施例中,触控面板931可覆盖显示面板941,当触控面板931检测到在其上或附近的触摸操作后,传送给处理器980以确定触摸事件的类型,随后处理器980根据触摸事件的类型在显示面板941上提供相应的视觉输出。虽然在图9中,触控面板931与显示面板941是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板931与显示面板941集成而实现手机的输入和输出功能。
手机900还可包括至少一种传感器950,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板941的亮度,接近传感器可在手机移动到耳边时,关闭显示面板941和/或背光。运动传感器可包括加速度传感器,通过加速度传感器可检测各个方向上加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换)、振动识别相关功能(比如计步器、敲击)等;此外,手机还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器等。
音频电路960、扬声器961和传声器962可提供用户与手机之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经RF电路910可以发送给另一手机,或者将音频数据输出至存储器920以便后续处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块970,但是可以理解的是,其并不属于手机900的必须构成,可以根据需要而省略。
处理器980是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。在一个实施例中,处理器980可包括一个或多个处理单元。在一个实施例中,处理器980可集成应用处理器和调制解调器,其中,应用处理器主要处理操作系统、用户界面和应用程序等;调制解调器主要处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器980中。比如,该处理器980可集成应用处理器和基带处理器,基带处理器与和其它外围芯片等可组成调制解调器。手机900还包括给各个部件供电的电源990(比如电池),优选的,电源可以通过电源管理系统与处理器980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
在一个实施例中,手机900还可以包括摄像头、蓝牙模块等。
在本申请实施例中,该手机所包括的处理器执行存储在存储器上的计算机程序时实现上述所描述的应用处理方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(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 (11)

1.一种应用处理方法,其特征在于,包括:
从目标应用被切换到后台的切换时刻开始计时;
检测在第一预设时长之内,所述目标应用是否被前台应用依赖,所述第一预设时长的起始时刻为开始计时的时刻;
当未被前台应用依赖时,则在计时时长达到所述第一预设时长之后,对所述目标应用进行资源限制处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当被前台应用依赖时,则从依赖结束的时刻重新开始计时,将重新开始计时的时刻作为所述第一预设时长的起始时刻,并重新执行所述检测在第一预设时长之内,所述目标应用是否被前台应用依赖。
3.根据权利要求1所述的方法,其特征在于,在所述检测在第一预设时长之内,所述目标应用是否被前台应用依赖之前,还包括:
获取所述目标应用的历史运行数据;
根据所述历史运行数据确定对所述目标应用的依赖程度;
根据所述依赖程度确定与所述目标应用对应的第一预设时长。
4.根据权利要求3所述的方法,其特征在于,所述历史运行数据包括所述目标应用的每次运行时间段和每次平均运行时长;
所述根据所述历史运行数据确定对所述目标应用的依赖程度,包括:
根据所述每次运行时间段确定对所述目标应用的使用频率;
根据所述使用频率和所述每次平均运行时长计算出对所述目标应用的依赖程度。
5.根据权利要求1所述的方法,其特征在于,所述在计时时长达到所述第一预设时长之后,对所述目标应用进行资源限制处理,包括:
当计时时长达到所述第一预设时长时,控制所述目标应用进入资源限制状态;
当计时时长达到第二预设时长时,冻结所述目标应用,所述第二预设时长的起始时刻为开始计时的时刻,所述第二预设时长大于所述第一预设时长。
6.根据权利要求5所述的方法,其特征在于,所述控制所述目标应用进入资源限制状态,包括:
获取所述目标应用对应的优先级,根据所述优先级获取对应的资源限制级别;
控制所述目标应用进入所述资源限制级别对应的资源限制状态。
7.根据权利要求1所述的方法,其特征在于,在所述对所述目标应用进行资源限制处理之后,还包括:
获取从对所述目标应用进行资源限制处理的时刻到当前时刻的限制时长;
若所述限制时长超过限制时长阈值,则将所述目标应用恢复到正常运行状态。
8.根据权利要求1至7中任一项所述的方法,其特征在于,当所述目标应用与前台应用之间存在通信机制或同步机制时,判定所述目标应用被前台应用依赖。
9.一种应用处理装置,其特征在于,包括:
计时模块,用于从目标应用被切换到后台的切换时刻开始计时;
依赖检测模块,用于检测在第一预设时长之内,所述目标应用是否被前台应用依赖,所述第一预设时长的起始时刻为开始计时的时刻;
资源限制模块,用于当未被前台应用依赖时,则在计时时长达到所述第一预设时长之后,对所述目标应用进行资源限制处理。
10.一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的方法的步骤。
CN201810031703.9A 2018-01-12 2018-01-12 应用处理方法和装置、电子设备、计算机可读存储介质 Active CN110046031B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810031703.9A CN110046031B (zh) 2018-01-12 2018-01-12 应用处理方法和装置、电子设备、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810031703.9A CN110046031B (zh) 2018-01-12 2018-01-12 应用处理方法和装置、电子设备、计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110046031A true CN110046031A (zh) 2019-07-23
CN110046031B CN110046031B (zh) 2021-11-09

Family

ID=67264278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810031703.9A Active CN110046031B (zh) 2018-01-12 2018-01-12 应用处理方法和装置、电子设备、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110046031B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021208626A1 (zh) * 2020-04-13 2021-10-21 华为技术有限公司 一种应用保活方法、装置和电子设备

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914342A (zh) * 2013-01-06 2014-07-09 联想(北京)有限公司 一种电子设备程序控制方法、系统及电子设备
US20150169624A1 (en) * 2013-12-13 2015-06-18 BloomReach Inc. Distributed and fast data storage layer for large scale web data services
US20160147511A1 (en) * 2014-11-26 2016-05-26 Markus Eble Pre-compiler
CN105677431A (zh) * 2011-09-01 2016-06-15 微软技术许可有限责任公司 将后台工作和前台工作解耦合
CN105893146A (zh) * 2016-03-28 2016-08-24 北京小米移动软件有限公司 内存处理方法及装置
CN106201686A (zh) * 2016-06-30 2016-12-07 北京小米移动软件有限公司 应用的管理方法、装置及终端
US20170003906A1 (en) * 2015-04-08 2017-01-05 Tintri Inc. Auto allocation of storage system resources to heterogeneous categories of resource consumer
CN106547615A (zh) * 2016-11-25 2017-03-29 珠海市魅族科技有限公司 一种后台应用的管理方法及管理模块
CN106844032A (zh) * 2017-01-23 2017-06-13 努比亚技术有限公司 一种终端应用的存储处理方法和装置
CN107066325A (zh) * 2017-03-21 2017-08-18 武汉斗鱼网络科技有限公司 在iOS客户端后台持续运行APP的方法及系统
CN107450952A (zh) * 2017-07-31 2017-12-08 广东欧珀移动通信有限公司 应用管控方法、装置、存储介质及电子设备
CN107463403A (zh) * 2017-07-31 2017-12-12 广东欧珀移动通信有限公司 进程控制方法、装置、存储介质以及电子设备

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677431A (zh) * 2011-09-01 2016-06-15 微软技术许可有限责任公司 将后台工作和前台工作解耦合
CN103914342A (zh) * 2013-01-06 2014-07-09 联想(北京)有限公司 一种电子设备程序控制方法、系统及电子设备
US20150169624A1 (en) * 2013-12-13 2015-06-18 BloomReach Inc. Distributed and fast data storage layer for large scale web data services
US20160147511A1 (en) * 2014-11-26 2016-05-26 Markus Eble Pre-compiler
US20170003906A1 (en) * 2015-04-08 2017-01-05 Tintri Inc. Auto allocation of storage system resources to heterogeneous categories of resource consumer
CN105893146A (zh) * 2016-03-28 2016-08-24 北京小米移动软件有限公司 内存处理方法及装置
CN106201686A (zh) * 2016-06-30 2016-12-07 北京小米移动软件有限公司 应用的管理方法、装置及终端
CN106547615A (zh) * 2016-11-25 2017-03-29 珠海市魅族科技有限公司 一种后台应用的管理方法及管理模块
CN106844032A (zh) * 2017-01-23 2017-06-13 努比亚技术有限公司 一种终端应用的存储处理方法和装置
CN107066325A (zh) * 2017-03-21 2017-08-18 武汉斗鱼网络科技有限公司 在iOS客户端后台持续运行APP的方法及系统
CN107450952A (zh) * 2017-07-31 2017-12-08 广东欧珀移动通信有限公司 应用管控方法、装置、存储介质及电子设备
CN107463403A (zh) * 2017-07-31 2017-12-12 广东欧珀移动通信有限公司 进程控制方法、装置、存储介质以及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
APLOUGHMAN: ""Linux前台进程和后台进程"", 《HTTPS://BLOG.CSDN.NET/LCB1992/ARTICLE/DETAILS/53433298》 *
李建州: ""安卓智能手机功耗管理评测机制的研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021208626A1 (zh) * 2020-04-13 2021-10-21 华为技术有限公司 一种应用保活方法、装置和电子设备

Also Published As

Publication number Publication date
CN110046031B (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
CN110008008A (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN110032431A (zh) 应用处理方法和装置、电子设备、计算机可读存储介质
CN109144232A (zh) 进程处理方法和装置、电子设备、计算机可读存储介质
CN110018904A (zh) 信息处理方法、装置、计算机设备和计算机可读存储介质
CN109992393A (zh) 应用处理方法和装置、电子设备、计算机可读存储介质
CN110018901A (zh) 内存回收方法、装置、计算机设备和计算机可读存储介质
CN108112063A (zh) 电量管理方法、电量管理装置、终端和可读存储介质
CN110018902A (zh) 内存处理方法和装置、电子设备、计算机可读存储介质
CN109992370A (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN110045809A (zh) 信息处理方法、装置、计算机设备和计算机可读存储介质
CN110032266A (zh) 信息处理方法、装置、计算机设备和计算机可读存储介质
CN109992397A (zh) 进程处理方法和装置、电子设备、计算机可读存储介质
CN110018900A (zh) 内存处理方法和装置、电子设备、计算机可读存储介质
CN110032321A (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN109992364A (zh) 应用冻结方法、装置、计算机设备和计算机可读存储介质
CN110018905A (zh) 信息处理方法、装置、计算机设备和计算机可读存储介质
CN109992425A (zh) 信息处理方法、装置、计算机设备和计算机可读存储介质
CN110032439A (zh) 资源管理方法、装置、移动终端及计算机可读存储介质
CN109992375A (zh) 信息处理方法、装置、计算机设备和计算机可读存储介质
CN110032397A (zh) 应用处理方法和装置、电子设备、计算机可读存储介质
CN109992309A (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN110018885A (zh) 应用程序冻结方法、装置、存储介质和终端
CN110018886A (zh) 应用状态切换方法和装置、电子设备、可读存储介质
CN109992360A (zh) 进程处理方法和装置、电子设备、计算机可读存储介质
CN109992371A (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
CB02 Change of applicant information

Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant