CN107704316A - 应用程序处理方法、装置、移动终端及存储介质 - Google Patents

应用程序处理方法、装置、移动终端及存储介质 Download PDF

Info

Publication number
CN107704316A
CN107704316A CN201710661339.XA CN201710661339A CN107704316A CN 107704316 A CN107704316 A CN 107704316A CN 201710661339 A CN201710661339 A CN 201710661339A CN 107704316 A CN107704316 A CN 107704316A
Authority
CN
China
Prior art keywords
application program
cpu
occupancy
applications
application
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
CN201710661339.XA
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 CN201710661339.XA priority Critical patent/CN107704316A/zh
Publication of CN107704316A publication Critical patent/CN107704316A/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/505Allocation 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 load

Abstract

本申请实施例涉及一种应用程序处理方法、装置、移动终端及存储介质。上述方法,包括:获取后台运行的应用程序;从所述后台运行的应用程序中选取中央处理器CPU占用率大于第一阈值的应用程序,生成第一应用集合;从所述后台运行的应用程序中选取进程数量大于第二阈值的应用程序,生成第二应用集合;停止运行同时存在于所述第一应用集合及第二应用集合的应用程序。上述应用程序处理方法、装置、移动终端及存储介质,可有效减少前台运行的应用程序因资源被抢占而发生卡顿的情况。

Description

应用程序处理方法、装置、移动终端及存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用程序处理方法、装置、移动终端及存储介质。
背景技术
随着互联网的飞速发展,智能移动终端已经成为许多用户最常用的电子设备,例如智能手机、平板电板等。用户可在智能移动终端上安装各式的应用程序进行使用,当应用程序在后台进行运行时,有时需要执行一些耗时或占用大量CPU(Central ProcessingUnit,中央处理器)的任务,抢占CPU资源,导致前台运行的应用程序因资源被抢占而发生卡顿的情况。
发明内容
本申请实施例提供一种应用程序处理方法、装置、移动终端及存储介质,可以减少前台运行的应用程序因资源被抢占而发生卡顿的情况。
一种应用程序处理方法,包括:
获取后台运行的应用程序;
从所述后台运行的应用程序中选取中央处理器CPU占用率大于第一阈值的应用程序,生成第一应用集合;
从所述后台运行的应用程序中选取进程数量大于第二阈值的应用程序,生成第二应用集合;
停止运行同时存在于所述第一应用集合及第二应用集合的应用程序。
在其中一个实施例中,在所述获取后台运行的应用程序之前,所述方法还包括:
每隔第一预设时间采集CPU的总占用率;
根据所述CPU的总占用率判断所述CPU是否处于繁忙状态;
若处于,则每隔第二预设时间采集后台运行的各个应用程序的CPU占用率。
在其中一个实施例中,所述根据所述CPU的总占用率判断所述CPU是否处于繁忙状态,包括:
根据所述CPU的总占用率计算所述CPU的占用级别;
累计连续维持在所述占用级别的次数;
当所述次数达到与所述占用级别对应的计数阈值时,确定与所述占用级别对应的繁忙程度;
当所述繁忙程度大于预设值时,则判断所述CPU处于繁忙状态。
在其中一个实施例中,所述停止运行同时存在于所述第一应用集合及第二应用集合的应用程序,包括:
根据预设的过滤条件筛选同时存在于所述第一应用集合及第二应用集合的应用程序;
停止运行筛选得到的应用程序。
在其中一个实施例中,所述获取后台运行的应用程序,包括:
当检测到预设应用列表中的应用程序在前台运行时,则获取后台运行的应用程序。
一种应用程序处理装置,包括:
应用获取模块,用于获取后台运行的应用程序;
第一选取模块,用于从所述后台运行的应用程序中选取中央处理器CPU占用率大于第一阈值的应用程序,生成第一应用集合;
第二选取模块,用于从所述后台运行的应用程序中选取进程数量大于第二阈值的应用程序,生成第二应用集合;
停止模块,用于停止运行同时存在于所述第一应用集合及第二应用集合的应用程序。
在其中一个实施例中,所述装置还包括:
采集模块,用于每隔第一预设时间采集CPU的总占用率;
判断模块,用于根据所述CPU的总占用率判断所述CPU是否处于繁忙状态;
所述采集模块,还用于若所述CPU处于繁忙状态,则每隔第二预设时间采集后台运行的各个应用程序的CPU占用率;
所述判断模块,包括:
计算单元,用于根据所述CPU的总占用率计算所述CPU的占用级别;
累计单元,用于累计连续维持在所述占用级别的次数;
繁忙程度确定单元,用于当所述次数达到与所述占用级别对应的计数阈值时,确定与所述占用级别对应的繁忙程度;
判断单元,用于当所述繁忙程度大于预设值时,则判断所述CPU处于繁忙状态。
在其中一个实施例中,所述停止模块,包括:
筛选单元,用于根据预设的过滤条件筛选同时存在于所述第一应用集合及第二应用集合的应用程序;
停止单元,用于停止运行筛选得到的应用程序。
在其中一个实施例中,所述应用获取模块,还用于当检测到预设应用列表中的应用程序在前台运行时,则获取后台运行的应用程序。
一种移动终端,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。
上述应用程序处理方法、装置、移动终端及存储介质,从后台运行的应用程序中选取中央处理器CPU占用率大于第一阈值的应用程序,生成第一应用集合,从后台运行的应用程序中选取进程数量大于第二阈值的应用程序,生成第二应用集合,停止运行同时存在于第一应用集合及第二应用集合的应用程序,可以对后台运行占用CPU高且进程数量多的应用程序进行查杀,有效减少前台运行的应用程序因资源被抢占而发生卡顿的情况。
附图说明
图1为一个实施例中移动终端的框图;
图2为一个实施例中应用程序处理方法的流程示意图;
图3为一个实施例中监控CPU的使用情况的流程示意图;
图4为一个实施例中判断CPU是否处于繁忙状态的流程示意图;
图5为一个实施例中CPU的占用级别变化示意图;
图6为一个实施例中应用程序处理装置的框图;
图7为另一个实施例中应用程序处理装置的框图;
图8为一个实施例中判断模块的框图;
图9为另一个实施例中移动终端的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
图1为一个实施例中移动终端的框图。如图1所示,该移动终端包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口、显示屏和输入装置。其中,移动终端的非易失性存储介质存储有操作系统及计算机可执行指令,该计算机可执行指令被处理器执行时以实现本申请实施例中提供的一种应用程序处理方法。该处理器用于提供计算和控制能力,支撑整个移动终端的运行。移动终端中的内存储器为非易失性存储介质中的计算机可读指令的运行提供环境。网络接口用于与服务器进行网络通信。移动终端的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是移动终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该移动终端可以是手机、平板电脑或者个人数字助理或穿戴式设备等。本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的移动终端的限定,具体的移动终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图2所示,在一个实施例中,提供一种应用程序处理方法,包括以下步骤:
步骤210,获取后台运行的应用程序。
具体地,移动终端可通过活动管理器对正在运行的各个应用程序进行监听,可通过活动管理器获取正在运行的所有应用程序列表,并逐一判断该应用程序列表中各个正在运行的应用程序的状态是前台运行还是后台运行。移动终端可获取应用程序列表中状态是后台运行的应用程序,进一步地,可获取后台运行的应用程序的应用标识,其中,应用标识指的是可用于唯一标识应用程序的信息,比如,可以是应用程序的包名,或是编号等。
在一个实施例中,移动终端可当CPU处于繁忙状态时,获取后台运行的应用程序,CPU处于繁忙状态指的是CPU的总占用率较高。移动终端可采集的CPU的总占用率,并判断CPU是否处于繁忙状态,可设定用于判断繁忙状态的状态值,当CPU的总占用率大于该状态值时,则可判断CPU处于繁忙状态,例如,设定的状态值为50%,当CPU的总占用率大于50%时,可认为CPU当前正处于繁忙状态。当CPU处于繁忙状态时,移动终端才对后台运行的应用程序进行查杀。
在一个实施例中,当检测到预设应用列表中的应用程序在前台运行时,则获取后台运行的应用程序。预设应用列表中可存储有前台运行时需占用大量CPU资源的应用程序,例如,可以是游戏类应用程序、视频类应用程序或是即时通讯类应用程序等。移动终端可通过活动管理器获取正在运行的所有应用程序列表,根据该应用程序列表,检测是否有预设应用列表中的应用程序在前台运行,若有,则获取后台运行的应用程序,对后台运行的应用程序进行查杀。
步骤220,从后台运行的应用程序中选取中央处理器CPU占用率大于第一阈值的应用程序,生成第一应用集合。
具体地,移动终端可采集后台运行的各应用程序的CPU占用率,并将各应用程序的CPU占用率与第一阈值进行比较,判断应用程序的CPU占用率是否大于第一阈值。移动终端可选取CPU占用率大于第一阈值的在后台运行的应用程序,生成第一应用集合,其中,第一阈值可根据实际需求进行设定,例如40%、45%等。在后台运行时,应用程序的CPU占用率大于第一阈值,可判定该应用程序占用CPU异常,第一应用集合中可包含在后台运行占用CPU异常的应用程序。
步骤230,从后台运行的应用程序中选取进程数量大于第二阈值的应用程序,生成第二应用集合。
具体地,应用程序进行运行时,可能同时开启一个或多个进程执行相应的任务,移动终端可获取后台运行的各应用程序的应用标识,根据应用程序的应用标识确定与各应用程序分别对应的进程,并计算各应用程序对应的进程数量。移动终端可将应用程序对应的进程数量与第二阈值进行比较,判断应用程序的进程数量是否大于第二阈值。移动终端可选取进程数量大于第二阈值的在后台运行的应用程序,生成第二应用集合,其中,第二阈值可根据实际需求进行设定,例如2个、3个等。
步骤240,停止运行同时存在于第一应用集合及第二应用集合的应用程序。
具体地,移动终端可停止运行同时存在于第一应用集合及第二应用集合的应用程序,也即,可停止运行后台中占用CPU高且进程数量多的应用程序。停止运行应用程序,可包括关闭或挂起应用程序等方式,其中,关闭应用程序指的是终止(kill)应用程序,挂起应用程序指的是暂停应用程序的运行,可将挂起的应用程序加入等待队列中,当CPU空闲时,再恢复应用程序的运行。
上述应用程序处理方法,从后台运行的应用程序中选取中央处理器CPU占用率大于第一阈值的应用程序,生成第一应用集合,从后台运行的应用程序中选取进程数量大于第二阈值的应用程序,生成第二应用集合,停止运行同时存在于第一应用集合及第二应用集合的应用程序,可以对后台运行占用CPU高且进程数量多的应用程序进行查杀,有效减少前台运行的应用程序因资源被抢占而发生卡顿的情况。
如图3所示,在一个实施例中,在步骤210获取后台运行的应用程序之前,还包括以下步骤:
步骤302,每隔第一预设时间采集CPU的总占用率。
具体地,移动终端可每隔第一预设时间从特定的文件中读取CPU的活动数据,该特定的文件中记录有CPU从移动终端启动至当前时刻的累计工作时间,其中,第一预设时间可根据实际需求进行设定,例如5秒、7秒等,第一预设时间不宜过长或过短,过长可能导致统计的CPU的总占用率不准确,过短则可能消耗系统资源。特定的文件指的是记录有CPU的活动数据的文件,该文件中记录有CPU从移动终端启动至当前时刻的累计工作时间,以及各个不同的进程从移动终端启动至当前时刻使用CPU的累计时间等。
在一个实施例中,移动终端可每隔第一预设时间从/proc目录下的/proc/stat文件中读取CPU从移动终端启动至当前时刻的累计工作时间,可记录每一次读取的CPU的累计工作时间,并计算本次记录的CPU的累计工作时间与上一次记录的CPU的累计工作时间之间的差值,得到第一采集周期内CPU的真正工作时间,其中,第一采集周期即为第一预设时间。可确定第一采集周期内CPU的真正工作时间与第一采集周期的比值,该比值即为CPU的总占用率。
步骤304,根据CPU的总占用率判断CPU是否处于繁忙状态,若是,则执行步骤306,若否,则执行步骤302。
具体地,移动终端可根据采集的CPU的总占用率判断CPU是否处于繁忙状态,在一个实施例中,可设定用于判断繁忙状态的状态值,当CPU的总占用率大于该状态值时,则可判断CPU处于繁忙状态,例如,设定的状态值为50%,当CPU的总占用率大于50%时,可认为CPU当前正处于繁忙状态。
步骤306,每隔第二预设时间采集后台运行的各个应用程序的CPU占用率。
具体地,若CPU处于繁忙状态,则移动终端可每隔第二预设时间从特定的文件中读取在后台运行的各个应用程序的CPU使用数据,其中,第二预设时间可根据实际需求进行设定,第二预设时间可以是比第一预设时间长的时间段,例如1分钟、40秒等,可减少频繁读取CPU的数据带来的功耗损失。进一步地,移动终端可每隔第二预设时间从/proc目录下的/proc/stat文件中,读取各个进程从移动终端启动至当前时刻使用CPU的累计时间等,可先确定当前在后台运行的各个应用程序的应用标识,并根据确定的应用标识在/proc/stat文件中读取关联的进程的使用CPU的累计时间。一个应用标识可能有一个或多个关联的进程,则应用程序使用CPU的累计时间可为与该应用程序的应用标识关联的所有进程的使用CPU的累计时间之和。
移动终端可记录每一次读取的在后台运行的各个应用程序的使用CPU的累计时间,针对每个应用程序,可计算本次记录的使用CPU的累计时间与上一次记录的使用CPU的累计时间的差值,得到第二采集周期内对应应用程序的真正使用CPU的时间,其中,第二采集周期即为第二预设时间,可确定第二采集周期内应用程序真正使用CPU的时间与第二采集周期的比值,该比值即为对应应用程序的CPU占用率。
在本实施例中,当CPU处于繁忙状态时,才采集在后台运行的各个应用程序的CPU占用率,可减少频繁采集CPU数据带来的系统开销。
如图4所示,在一个实施例中,步骤304根据CPU的总占用率判断CPU是否处于繁忙状态,包括以下步骤:
步骤402,根据CPU的总占用率计算CPU的占用级别。
具体地,可预先划分多个CPU的占用级别,每个占用级别可对应不同的占用率范围,例如,划分4个CPU的占用级别,包括L1、L2、L3及L4,其中,L1占用级别对应的占用率范围为小于20%,L2占用级别对应的占用率范围为20%~40%,L3占用级别对应的占用率范围为40%~60%,L4占用级别对应的占用率范围为大于60%等,但不限于此。移动终端每隔第一预设时间采集CPU的总占用率,可确定采集的CPU的总占用率落入的占用率范围,并得到与该落入的占用率范围对应的CPU的占用级别。例如,采集的CPU的总占用率为18%,则CPU的占用级别为L1,CPU的总占用率为25%,则CPU的占用级别为L2等。
步骤404,累计连续维持在占用级别的次数。
具体地,移动终端可为每个CPU的占用级别分配一个级别计数器,通过级别计数器记录CPU维持在对应的占用级别的连续次数,其中,CPU维持在某个占用级别,指的是CPU一直处于该占用级别或以上的占用级别,例如,CPU的占用级别变化为L2占用级别、L3占用级别、L2占用级别,则可认为CPU维持在L2占用级别,连续次数为3。
在一个实施例中,移动终端每隔第一预设时间采集CPU的总占用率,并确定CPU的占用级别,可分别在该占用级别及以下的占用级别对应的级别计数器中加1,并将其他占用级别的级别计数器清零。例如,本次的CPU的占用级别为L3,则将L1、L2及L3的级别计数器分别加1,L4的级别计数器清零,下一次的CPU的占用级别为L2,则将L1、L2的级别计数器分别加1,L3、L4的级别计数器清零。
在一个实施例中,可划分占用级别的类型,其中,类型可包括为空闲级别及繁忙级别,例如,将L1占用级别作为空闲级别,将L2、L3、L4占用级别作为繁忙级别,分别代表不同的繁忙程度。移动终端每隔第一预设时间采集CPU的总占用率,并计算CPU的占用级别,可先确定对应的类型,再分别在该占用级别及以下的属于同一类型的占用级别对应的级别计数器中加1,并将其他占用级别的级别计数器清零。例如,本次的CPU占用级别为L1,属于空闲级别,则将L1的级别计数器加1,L2、L3及L4的级别计数器清零,下一次的CPU的占用级别为L3,属于繁忙级别,则将L3以及同属于繁忙级别的L2的级别计数器分别加1,L1、L4的级别计数器清零。
步骤406,当次数达到与占用级别对应的计数阈值时,确定与占用级别对应的繁忙程度。
具体地,可为每个CPU的占用级别设定对应的计数阈值,该计数阈值可用于判断移动终端的CPU是否维持在对应占用级别的工作状态中。移动终端通过级别计数器累计CPU连续维持在各个占用级别的次数,当CPU连续维持在占用级别的次数达到与该占用级别对应的计数阈值时,则可认定CPU稳定在该占用级别的工作状态中。例如,对L1、L2、L3及L4,分别设定一个对应的计数阈值为c1、c2、c3及c4,当CPU连续维持在L1级别的次数达到c1,则认定CPU稳定在L1的工作状态中。进一步地,各占用级别对应的计数阈值,可随着占用级别的增大而减小,例如,L1、L2、L3及L4对应的计数阈值为c1、c2、c3及c4,其中,c1>c2>c3>c4,比如,c1为5次,c2为4次,c3为3次,c4为2次等,但不限于此。在一个实施例中,若同时存在多个连续维持的次数达到对应的计数阈值的占用级别,则选取最高级别的占用级别作为CPU稳定的工作状态。
图5为一个实施例中CPU的占用级别变化示意图。如图5所示,移动终端每隔5秒采集CPU的总占用率,并确定对应的CPU的占用级别。CPU第一次的占用级别为L1,则L1的级别计数器加1,其他级别计数器清零;第二次的占用级别为L2,则L1、L2的级别计数器分别加1,其他级别计数器清零;第三次的占用级别为L3,则L1、L2、L3的级别计数器分别加1,其他级别计数器清零;第四次的占用级别为L2,则L1、L2的级别计数器分别加1,其他级别计数器清零;第五次的占用级别为L4,则L1、L2、L3、L4的级别计数器分别加1。CPU连续维持在L2的次数达到对应的计数阈值4,则可认为CPU稳定在L2的工作状态。
步骤408,当繁忙程度大于预设值时,则判断CPU处于繁忙状态。
具体地,不同的CPU占用级别可对应不同的繁忙程度,繁忙程度可随着占用级别的递增而增加,当CPU稳定在某一占用级别的工作状态时,移动终端可确定该占用级别对应的繁忙程序,并判断繁忙程度是否大于预设值,若大于,则判断CPU处于繁忙状态。例如,可设定L1的繁忙程度为小于20%,L2的繁忙程度为20%~40%,L3的繁忙程度为40%~60%,L4的繁忙程度为大于60%等,当CPU的繁忙程序大于20%,则认为CPU处于繁忙状态。
在一个实施例中,也可直接根据CPU稳定的占用级别的类型进行判断,若该占用级别的类型为繁忙类型,则可判断CPU处于繁忙状态,例如,CPU稳定在L2、L3及L4中的任一占用级别,均可判定CPU处于繁忙状态。
在本实施例中,累计CPU在各占用级别的连续维持次数,从而确定CPU的稳定的工作状态,通过缓冲去尖峰的方式判断CPU是否处于繁忙状态,提高监控CPU状态的准确性,避免出现偶尔CPU的总占用率变大带来的状态判断错误。
在一个实施例中,步骤240停止运行同时存在于第一应用集合及第二应用集合的应用程序,包括:根据预设的过滤条件筛选同时存在于第一应用集合及第二应用集合的应用程序,停止运行筛选得到的应用程序。
具体地,移动终端生成包含在后台运行CPU占用率大于第一阈值的应用程序的第一应用集合,以及在后台运行进程数量大于第二阈值的应用程序的第二应用集合。移动终端可预先建立过滤条件,对同时存在于第一应用集合及第二应用集合的应用程序进行过滤,其中,过滤条件可包括前台运行、特定应用列表的应用程序、优先级较高的应用程序等。特定应用列表中存储有受保护的各个应用程序的应用标识,可以是用户自己选择设置的应用程序,也可以是系统根据实际需求进行设定的,例如可包括音乐、即时通信等应用程序。移动终端根据过滤条件对同时存在于第一应用集合及第二应用集合的应用程序进行过滤后,可停止运行筛选后得到的不满足过滤条件的应用程序。
在一个实施例中,移动终端可在界面上显示筛选得到的应用程序,并由用户确定是否停止运行筛选得到的应用程序,根据用户的选择操作,停止运行被选择的应用程序。
在本实施例中,可根据预设的过滤条件筛选同时存在于第一应用集合及第二应用集合的应用程序,并停止运行筛选得到的应用程序,可以对后台运行占用CPU高且进程数量多的应用程序进行查杀,有效减少前台运行的应用程序因资源被抢占而发生卡顿的情况。
如图6所示,在一个实施例中,提供一种应用程序处理装置600,包括应用获取模块610、第一选取模块620、第二选取模块630及停止模块640。
应用获取模块610,用于获取后台运行的应用程序。
在一个实施例中,应用获取模块610,还用于当检测到预设应用列表中的应用程序在前台运行时,则获取后台运行的应用程序。
第一选取模块620,用于从后台运行的应用程序中选取中央处理器CPU占用率大于第一阈值的应用程序,生成第一应用集合。
第二选取模块630,用于从后台运行的应用程序中选取进程数量大于第二阈值的应用程序,生成第二应用集合。
停止模块640,用于停止运行同时存在于第一应用集合及第二应用集合的应用程序。
上述应用程序处理装置,从后台运行的应用程序中选取中央处理器CPU占用率大于第一阈值的应用程序,生成第一应用集合,从后台运行的应用程序中选取进程数量大于第二阈值的应用程序,生成第二应用集合,停止运行同时存在于第一应用集合及第二应用集合的应用程序,可以对后台运行占用CPU高且进程数量多的应用程序进行查杀,有效减少前台运行的应用程序因资源被抢占而发生卡顿的情况。
如图7所示,在一个实施例中,上述应用程序处理装置600,除了包括应用获取模块610、第一选取模块620、第二选取模块630及停止模块640,还包括采集模块650及判断模块660。
采集模块650,用于每隔第一预设时间采集CPU的总占用率。
判断模块660,用于根据CPU的总占用率判断CPU是否处于繁忙状态。
采集模块650,还用于若CPU处于繁忙状态,则每隔第二预设时间采集后台运行的各个应用程序的CPU占用率。
在本实施例中,当CPU处于繁忙状态时,才采集在后台运行的各个应用程序的CPU占用率,可减少频繁采集CPU数据带来的系统开销。
如图8所示,在一个实施例中,判断模块660,包括计算单元662、累计单元664、繁忙程度确定单元666及判断单元668。
计算单元662,用于根据CPU的总占用率计算CPU的占用级别。
累计单元664,用于累计连续维持在占用级别的次数。
繁忙程度确定单元,用于当次数达到与占用级别对应的计数阈值时,确定与占用级别对应的繁忙程度。
判断单元,用于当繁忙程度大于预设值时,则判断CPU处于繁忙状态。
在本实施例中,累计CPU在各占用级别的连续维持次数,从而确定CPU的稳定的工作状态,通过缓冲去尖峰的方式判断CPU是否处于繁忙状态,提高监控CPU状态的准确性,避免出现偶尔CPU的总占用率变大带来的状态判断错误。
在一个实例中,停止模块640,包括筛选单元及停止单元。
筛选单元,用于根据预设的过滤条件筛选同时存在于第一应用集合及第二应用集合的应用程序。
停止单元,用于停止运行筛选得到的应用程序。
在本实施例中,可根据预设的过滤条件筛选同时存在于第一应用集合及第二应用集合的应用程序,并停止运行筛选得到的应用程序,可以对后台运行占用CPU高且进程数量多的应用程序进行查杀,有效减少前台运行的应用程序因资源被抢占而发生卡顿的情况。
本申请实施例还提供了一种移动终端。如图9所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该移动终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑、穿戴式设备等任意终端设备,以移动终端为手机为例:
图9为与本申请实施例提供的移动终端相关的手机的部分结构的框图。参考图9,手机包括:射频(Radio Frequency,RF)电路910、存储器920、输入单元930、显示单元940、传感器950、音频电路960、WiFi模块970、处理器980、以及电源990等部件。本领域技术人员可以理解,图9所示的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,RF电路910可用于收发信息或通话过程中,信号的接收和发送,可将基站的下行信息接收后,给处理器980处理;也可以将上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路910还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于GSM、通用分组无线服务(General PacketRadio Service,GPRS)、CDMA、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short MessagingService,SMS)等。
存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器920可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能的应用程序、图像播放功能的应用程序等)等;数据存储区可存储根据手机的使用所创建的数据(比如音频数据、通讯录等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元930可用于接收输入的数字或字符信息,以及产生与手机900的用户设置以及功能控制有关的键信号输入。具体地,输入单元930可包括触控面板932以及其他输入设备934。触控面板932,也可称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板932上或在触控面板932附近的操作),并根据预先设定的程式驱动相应的连接装置。在一个实施例中,触控面板932可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器980,并能接收处理器980发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板932。除了触控面板932,输入单元930还可以包括其他输入设备934。具体地,其他输入设备934可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。
显示单元940可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元940可包括显示面板942。在一个实施例中,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板942。在一个实施例中,触控面板932可覆盖显示面板942,当触控面板932检测到在其上或附近的触摸操作后,传送给处理器980以确定触摸事件的类型,随后处理器980根据触摸事件的类型在显示面板942上提供相应的视觉输出。虽然在图9中,触控面板932与显示面板942是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板932与显示面板942集成而实现手机的输入和输出功能。
手机900还可包括至少一种传感器950,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板942的亮度,接近传感器可在手机移动到耳边时,关闭显示面板942和/或背光。运动传感器可包括加速度传感器,通过加速度传感器可检测各个方向上加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换)、振动识别相关功能(比如计步器、敲击)等;此外,手机还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器等。
音频电路960、扬声器962和传声器964可提供用户与手机之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器962,由扬声器962转换为声音信号输出;另一方面,传声器964将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经RF电路910可以发送给另一手机,或者将音频数据输出至存储器920以便后续处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。
处理器980是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。在一个实施例中,处理器980可包括一个或多个处理单元。在一个实施例中,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等;调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。
手机900还包括给各个部件供电的电源990(比如电池),优选的,电源990可以通过电源管理系统与处理器980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
在一个实施例中,手机900还可以包括摄像头、蓝牙模块等。
在本申请实施例中,该移动终端所包括的处理器980执行存储在存储器上的计算机程序时实现上述应用程序处理方法。
在一个实施例中,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述应用程序处理方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (11)

1.一种应用程序处理方法,其特征在于,包括:
获取后台运行的应用程序;
从所述后台运行的应用程序中选取中央处理器CPU占用率大于第一阈值的应用程序,生成第一应用集合;
从所述后台运行的应用程序中选取进程数量大于第二阈值的应用程序,生成第二应用集合;
停止运行同时存在于所述第一应用集合及第二应用集合的应用程序。
2.根据权利要求1所述的方法,其特征在于,在所述获取后台运行的应用程序之前,所述方法还包括:
每隔第一预设时间采集CPU的总占用率;
根据所述CPU的总占用率判断所述CPU是否处于繁忙状态;
若处于,则每隔第二预设时间采集后台运行的各个应用程序的CPU占用率。
3.根据权利要求2所述的方法,所述根据所述CPU的总占用率判断所述CPU是否处于繁忙状态,包括:
根据所述CPU的总占用率计算所述CPU的占用级别;
累计连续维持在所述占用级别的次数;
当所述次数达到与所述占用级别对应的计数阈值时,确定与所述占用级别对应的繁忙程度;
当所述繁忙程度大于预设值时,则判断所述CPU处于繁忙状态。
4.根据权利要求1至3任一所述的方法,其特征在于,所述停止运行同时存在于所述第一应用集合及第二应用集合的应用程序,包括:
根据预设的过滤条件筛选同时存在于所述第一应用集合及第二应用集合的应用程序;
停止运行筛选得到的应用程序。
5.根据权利要求1所述的方法,其特征在于,所述获取后台运行的应用程序,包括:
当检测到预设应用列表中的应用程序在前台运行时,则获取后台运行的应用程序。
6.一种应用程序处理装置,其特征在于,包括:
应用获取模块,用于获取后台运行的应用程序;
第一选取模块,用于从所述后台运行的应用程序中选取中央处理器CPU占用率大于第一阈值的应用程序,生成第一应用集合;
第二选取模块,用于从所述后台运行的应用程序中选取进程数量大于第二阈值的应用程序,生成第二应用集合;
停止模块,用于停止运行同时存在于所述第一应用集合及第二应用集合的应用程序。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
采集模块,用于每隔第一预设时间采集CPU的总占用率;
判断模块,用于根据所述CPU的总占用率判断所述CPU是否处于繁忙状态;
所述采集模块,还用于若所述CPU处于繁忙状态,则每隔第二预设时间采集后台运行的各个应用程序的CPU占用率;
所述判断模块,包括:
计算单元,用于根据所述CPU的总占用率计算所述CPU的占用级别;
累计单元,用于累计连续维持在所述占用级别的次数;
繁忙程度确定单元,用于当所述次数达到与所述占用级别对应的计数阈值时,确定与所述占用级别对应的繁忙程度;
判断单元,用于当所述繁忙程度大于预设值时,则判断所述CPU处于繁忙状态。
8.根据权利要求6或7所述的装置,其特征在于,所述停止模块,包括:
筛选单元,用于根据预设的过滤条件筛选同时存在于所述第一应用集合及第二应用集合的应用程序;
停止单元,用于停止运行筛选得到的应用程序。
9.根据权利要求6所述的装置,其特征在于,所述应用获取模块,还用于当检测到预设应用列表中的应用程序在前台运行时,则获取后台运行的应用程序。
10.一种移动终端,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至5任一所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一所述的方法。
CN201710661339.XA 2017-08-04 2017-08-04 应用程序处理方法、装置、移动终端及存储介质 Pending CN107704316A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710661339.XA CN107704316A (zh) 2017-08-04 2017-08-04 应用程序处理方法、装置、移动终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710661339.XA CN107704316A (zh) 2017-08-04 2017-08-04 应用程序处理方法、装置、移动终端及存储介质

Publications (1)

Publication Number Publication Date
CN107704316A true CN107704316A (zh) 2018-02-16

Family

ID=61170142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710661339.XA Pending CN107704316A (zh) 2017-08-04 2017-08-04 应用程序处理方法、装置、移动终端及存储介质

Country Status (1)

Country Link
CN (1) CN107704316A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109358961A (zh) * 2018-08-14 2019-02-19 深圳市先河系统技术有限公司 一种资源调度方法及其装置和具有存储功能的装置
CN109960397A (zh) * 2019-03-28 2019-07-02 联想(北京)有限公司 控制方法、控制装置、电子设备和计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073545B (zh) * 2011-02-28 2013-02-13 中国人民解放军国防科学技术大学 操作系统中防止用户界面卡屏的进程调度方法及装置
CN102981878A (zh) * 2012-11-28 2013-03-20 广东欧珀移动通信有限公司 自动关闭后台程序的方法及其移动终端
JP2013092874A (ja) * 2011-10-25 2013-05-16 Fujitsu Ltd 携帯端末装置の制御方法、制御プログラム及び携帯端末装置
CN104239196A (zh) * 2014-09-17 2014-12-24 北京金山安全软件有限公司 应用程序运行异常的检测方法、装置和移动终端
CN104731643A (zh) * 2015-02-27 2015-06-24 浙江大学 一种后台应用程序的管理方法和管理系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073545B (zh) * 2011-02-28 2013-02-13 中国人民解放军国防科学技术大学 操作系统中防止用户界面卡屏的进程调度方法及装置
JP2013092874A (ja) * 2011-10-25 2013-05-16 Fujitsu Ltd 携帯端末装置の制御方法、制御プログラム及び携帯端末装置
CN102981878A (zh) * 2012-11-28 2013-03-20 广东欧珀移动通信有限公司 自动关闭后台程序的方法及其移动终端
CN104239196A (zh) * 2014-09-17 2014-12-24 北京金山安全软件有限公司 应用程序运行异常的检测方法、装置和移动终端
CN104731643A (zh) * 2015-02-27 2015-06-24 浙江大学 一种后台应用程序的管理方法和管理系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
信息产业部电子教育与考试中心,组编,: "《计算机网络管理理论与实践教程 2008年9月第1版》", 30 September 2008 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109358961A (zh) * 2018-08-14 2019-02-19 深圳市先河系统技术有限公司 一种资源调度方法及其装置和具有存储功能的装置
CN109358961B (zh) * 2018-08-14 2021-12-21 深圳市先河系统技术有限公司 一种资源调度方法及其装置和具有存储功能的装置
CN109960397A (zh) * 2019-03-28 2019-07-02 联想(北京)有限公司 控制方法、控制装置、电子设备和计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN104166614B (zh) 一种移动设备的帧率探测方法和相关装置
CN107526640A (zh) 资源管理方法、装置、移动终端及计算机可读存储介质
CN107544842B (zh) 应用程序处理方法和装置、计算机设备、存储介质
CN107526638A (zh) 应用程序处理方法、装置、移动终端及存储介质
CN107273036A (zh) 移动终端及其分屏控制方法、计算机可读存储介质
CN104519262B (zh) 获取视频数据的方法、装置及终端
CN104571979B (zh) 一种实现分屏视图的方法和装置
CN107368400A (zh) Cpu监测方法、装置、计算机可读存储介质和移动终端
CN108112063A (zh) 电量管理方法、电量管理装置、终端和可读存储介质
CN107562539A (zh) 应用程序处理方法和装置、计算机设备、存储介质
CN107729131A (zh) 一种事件处理方法、终端及计算机可读存储介质
CN107577508A (zh) 应用程序处理方法、装置、可读存储介质和移动终端
CN107526637A (zh) 应用程序处理方法、装置、移动终端及存储介质
CN107612643A (zh) 信道检测方法及信道检测设备
CN106648460B (zh) 计步数据过滤方法及智能终端
CN106527666A (zh) 一种中央处理器的控制方法、及终端设备
CN107330867A (zh) 图像合成方法、装置、计算机可读存储介质和计算机设备
CN108334345A (zh) 应用程序处理方法、装置、可读存储介质和移动终端
CN107491349B (zh) 应用程序处理方法和装置、计算机设备、存储介质
CN107341094A (zh) 启动项耗时的测量方法及装置
CN107066090A (zh) 一种控制指纹识别模组的方法及移动终端
CN107704316A (zh) 应用程序处理方法、装置、移动终端及存储介质
CN109862184A (zh) 终端及其资源管控方法、计算机可读存储介质
CN107770449A (zh) 连拍方法、电子设备及存储介质
CN107622234A (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: 20180216