CN107615250B - 一种针对应用的处理方法、装置及智能终端 - Google Patents
一种针对应用的处理方法、装置及智能终端 Download PDFInfo
- Publication number
- CN107615250B CN107615250B CN201680024971.7A CN201680024971A CN107615250B CN 107615250 B CN107615250 B CN 107615250B CN 201680024971 A CN201680024971 A CN 201680024971A CN 107615250 B CN107615250 B CN 107615250B
- Authority
- CN
- China
- Prior art keywords
- application
- task
- terminal
- running
- abnormal
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
Abstract
本申请提供了一种针对应用的处理方法、装置及智能终端,其中的方法包括:当所述应用在所述操作系统的后台持续运行时间达到预设持续时间时,根据所述应用的应用任务的运行特征和预设的任务异常判断条件,确定所述应用任务是否属于运行异常任务;如果确定所述应用任务属于所述运行异常任务,则对所述运行异常任务进行限制处理;其中,所述对所述运行异常任务进行限制处理包括停止执行所述运行异常任务、或延迟处理所述运行异常任务。本申请可较好地节省终端的处理器以及电能等资源,提升终端性能。
Description
技术领域
本申请涉及计算机应用技术领域,尤其涉及一种针对应用的处理方法、装置及智能终端。
背景技术
随着电子技术以及计算机技术的不断发展,各种智能终端,诸如智能手机、平板电脑、智能可穿戴设备等终端,已得到普及。通过开发的各种适于在智能终端中安装并允许的各种应用可以帮助用户实现各种各样的功能。
智能终端上通过安装操作系统(Operating System,简称OS)来管理和控制硬件与软件资源,目前流行的智能终端操作系统包括多种,各具特色,有的系统允许应用的进程仅在该应用前台运行;而有的运行应用的进程在前台运行外,还可以在后台运行,即使用户当前并未使用该应用甚至用户已经锁屏不再使用,该应用对应的进程仍然在执行下载数据、导航、处理推送push消息、同步网络数据、接收广播等处理。
在某些情况下,例如应用已被切换到后台运行一段时间的情况下,针对该应用所产生的自动处理会使智能终端产生较高的功耗。
发明内容
本申请提供了一种针对应用的处理方法、装置及智能终端,可对满足限制处理条件的自动处理进行限制。
第一方面,本申请提供了一种针对应用的处理方法,该方法中,针对智能终端中当前正在执行的应用任务,可以针对其中的所有或部分应用任务分别进行处理。处理步骤包括:当所述应用在所述操作系统的后台持续运行时间达到预设持续时间时,根据所述应用的应用任务的运行特征和预设的任务异常判断条件,确定所述应用任务是否属于运行异常任务;如果是所述运行异常任务,则对所述运行异常任务进行限制处理;具体的限制处理方式可以为停止执行所述运行异常任务、或延迟处理所述运行异常任务。所述运行异常任务主要是指一些满足所述条件的应用任务,例如被执行的过程中对终端资源占用较多的任务,或被用户添加到黑名单中的任务等等,而并非运行出错的任务。
针对终端当前执行的应用任务,可以对其中的运行异常任务执行延迟或停止等限制处理,较好地节省终端的处理器以及电能等资源,提升了终端性能。
结合第一方面,在第一种可能的实现方式中,当所述应用在所述操作系统的后台持续运行时间达到预设持续时间时,在确定所述应用任务是否为运行异常任务之前,可以先确定终端中有哪些应用为运行异常应用。具体步骤可以为:根据应用在终端上运行过程中的运行特征和预设的应用异常判断条件,确定所述应用是否属于运行异常应用;若所述应用属于运行异常应用,则可以进一步执行所述应用的应用任务是否为运行异常任务的判断等步骤。
通过先确定出运行异常的应用,以便于后续对这些运行异常的应用所对应的任务进行处理,能够有效减少对应用任务的数据收集以及处理的处理量,提高了对上述运行异常任务的识别以及处理效率,进一步地节省终端的处理器以及电能等资源,提升了终端性能。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述对所述运行异常任务进行限制处理具体可以针对该运行异常任务的在Looper的消息队列中的消息进行限制处理来实现,具体步骤可以为:停止对循环者Looper的消息队列中所述运行异常任务的消息进行处理;或者,延迟将循环者Looper 的消息队列中所述运行异常任务的消息发送给对应的处理者Handler。
通过对运行异常任务的消息进行暂停或延迟处理可以简单、快速地完成对运行异常任务的限制处理。
第二方面,本申请实施例还提供了另一种针对应用的处理方法,所述应用运行于终端的操作系统上。在所述方法中,可以先确定出可能需要限制处理的应用任务,然后再根据对该应用任务对应的应用进行判断来确定是否对该可能需要限制处理的应用任务进行限制处理。具体步骤可以为:根据所述应用的应用任务的运行特征和预设的任务异常判断条件,确定所述应用任务是否属于运行异常任务;如果确定所述应用任务属于所述运行异常任务,则进一步根据所述应用在终端上运行过程中的运行特征和预设的应用异常判断条件,确定所述应用是否属于运行异常应用;如果确定出所述应用属于运行异常应用,则对所述运行异常任务进行限制处理。具体的限制处理方式可以为停止执行所述运行异常任务、或延迟处理所述运行异常任务。
根据应用任务的运行特征和对应应用在终端上运行过程中的运行特征,可以快速、准确地针对确定出运行异常任务并执行对运行异常任务的延迟或停止等限制处理,达到节省终端的处理器以及电能等资源的目的,提升终端性能。
结合第二方面,在第一种可能的实现方式中,所述对所述运行异常任务进行限制处理,包括:停止对循环者Looper的消息队列中所述运行异常任务的消息进行处理;或者,延迟将循环者Looper的消息队列中所述运行异常任务的消息发送给对应的处理者Handler。
相应地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储了程序的程序代码。所述程序代码包括用于执行在第一方面中的方法的指令。
相应地,本申请实施例还提供了另一种计算机可读存储介质,所述计算机可读存储介质存储了程序的程序代码。所述程序代码包括用于执行在第二方面中的方法的指令。
相应地,本申请还提供了一种针对应用的处理装置,该针对应用的处理装置包括的模块可以执行上述第一方面所述的方法。
相应地,本申请还提供了一种针对应用的处理装置,该针对应用的处理装置包括的模块可以执行上述第二方面所述的方法。
相应地,本申请还提供了一种智能终端,其特征在于,包括:处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器在执行所述指令时可根据所述指令执行上述第一方面的方法。
相应地,本申请还提供了一种智能终端,其特征在于,包括:处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器在执行所述指令时可根据所述指令执行上述第二方面的方法。
在一些实施方式中,所述应用在终端上运行过程中的运行特征包括:应用的运行特征和/或终端的运行特征;所述应用的运行特征包括:前台运行、后台运行、重要等级、是否被记录于限制处理名单、应用运行时的资源占用信息、应用无操作的持续时长中的任意一个或多个;终端的运行特征包括:终端的状态特征(如是否为省电状态等)、对终端无操作的持续时长、终端剩余电量、终端发热特征中的任意一种或多种。
在一些实施方式中,所述应用任务的运行特征包括:所述应用任务被执行的速度或者被执行的次数,或执行所述应用任务的硬件资源消耗。
通过上述的应用的运行特征、终端的运行特征以及任务的运行特征,可以较为全面地得出能够满足限制处理条件的一个或者多个运行异常任务,进而对这些运行异常任务进行处理,以便更好更为全面地满足各种用户需求或者满足提高终端性能的需求。
在一些实施方式中,所述运行异常任务对应的消息中包括模块指示信息,所述模块指示信息用于指示处理所述消息的Handler,对所述运行异常任务进行限制处理具体是指:停止或延迟将所述运行异常任务对应的消息发送给该消息中所述模块指示信息所指示的Handler。
在一些实施方式中,被限制处理的运行异常任务的消息在满足恢复条件时可以取消限制处理,满足恢复条件包括:被限制处理的运行异常任务被另一个或多个任务所依赖,该另一个或多个任务不是运行异常任务。
在一些实施方式中,如果被执行限制处理的运行异常任务所对应的应用完全退出,具体的在用户完全关闭该应用、或该应用运行崩溃、或该应用长期占有内存过高被强制退出等情况下会被完全退出时,可以恢复对该运行异常任务的处理,以便于该应用对应的进程被正常关闭。
本申请实施例可以快速、准确地针对确定出运行异常任务并执行对运行异常任务的延迟或停止等限制处理,从而较好地节省终端的处理器以及电能等资源,提升了终端性能。
附图说明
图1为本申请实施例提供的其中一种消息处理机制的结构示意图;
图2为本申请实施例提供的其中另一种消息处理机制的结构示意图;
图3为本申请实施例提供的一种日志log信息的示意图;
图4为本申请实施提供的一种针对应用的处理方法流程示意图;
图5为本申请实施例提供的另一种针对应用的处理方法流程示意图;
图6为本申请实施例提供的再一种针对应用的处理方法流程示意图;
图7为本申请实施例提供的一种针对应用的处理装置的结构示意图;
图8为本申请实施例提供的另一种针对应用的处理装置的结构示意图;
图9为本申请实施例提供的一种智能终端的结构示意图;
图10为本申请实施例提供的另一种智能终端的结构示意图。
具体实施方式
配置在智能终端上的应用运行于智能终端的操作系统平台上,具体地,可以运行于操作系统的前台或后台中。智能终端可以根据应用的指示通过处理器等硬件资源对应用对应的应用任务进行处理,例如下载数据任务、导航任务、处理push消息任务、同步网络数据任务、接收广播任务、更新界面任务、绘图任务等等。
智能终端的操作系统平台包括但不限于安卓Android、塞班Symbian、iOS、Windows Phone、Blackberry OS。以安卓Android操作系统为例,Android是智能终端的软件平台,其包括多层结构:应用层applications、应用框架层 application framework、运行库Liberaries、以及内核Kernel。系统应用和第三方开发的应用位于应用层。而应用框架层则包括安卓操作系统提供的各类处理机制和系统资源,这些处理机制或系统资源被封装为应用程序编程接口 (Application Programming Interface,以下简称API),以供应用层调用。运行于安卓操作系统平台上的应用,通过调用安卓操作系统应用框架层提供的API 实现相应的应用任务。
图1为安卓操作系统的应用框架层提供的一种消息处理机制的流程示意图,当应用层的应用发起一个应用任务时,可通过调用该消息处理机制实现该应用任务。如图1所示,该消息处理机制包括三个核心模块:循环者(以下称之为Looper)、处理者(以下称之为Handler),以及任务或者消息(以下称之为Message)。
Message中封装了应用层发起的应用任务的信息和处理该Message的 Handler的指示信息。
线程Thread中包括Looper和Handler。Looper被设计用来使一个普通线程变成Looper线程。所述Looper线程是指循环工作的线程。消息队列Message Queue封装在Looper里面。消息队列Message Queue中被添加了多个Message。该多个Message按时间顺序在消息队列Message Queue中排队等待执行。
Handler的作用包括:往Looper中的Message Queue上添加消息Message。 Looper会根据Message Queue的顺序将Message取出,并发送给与该Message 对应的Handler。Handler收到该Message后对该Message进行处理。Message 的添加和处理过程可以是同步或异步的。Handler创建时会关联一个Looper,默认的构造方法将关联当前线程的Looper。
安装在智能终端中的应用程序运行后,为了实现某些应用功能,会触发执行应用任务以实现相关功能。具体地,由该应用对应的Handler生成针对应用任务的消息Message,该Message中包括该应用任务的信息和该Handler的信息。Handler将Message传递给Looper。Looper中的Message可以按照执行时间顺序排队(消息队列Message Queue)。Looper检查队列中的消息需要释放时,例如消息到达执行时间,则取出来发给对应的Hander处理该消息,实现该应用任务。
在图1的消息队列中包括4个消息,即Message1、Message2、Message3 以及Message4。4个消息可以是为某一个应用的不同任务生成的消息,也可以是为不同应用的应用任务生成的消息。Looper可以运行在主线程或者单独的一个线程中。4个消息会按照执行时间顺序排队。Looper会检查消息队列中的各Message的执行时间,以便于在消息到达执行时间时对这些Message进行处理。
当应用运行于后台时,该应用仍可以定期触发应用任务,调用安卓操作系统应用框架层的API实现该应用任务。例如应用每隔一秒钟发起一次页面刷新任务,该页面刷新任务可通过调用API来实现。但如果应用已被用户长时间切换至后台,则可能用户已不再使用该应用但忘记完全退出。此时如果应用仍定期执行某些不必要的应用任务,则会造成终端的功耗浪费。
图2为本申请实施例提供的一种消息处理机制的结构示意图。如图2所示,该消息处理机制所采用的框架包括上述提到的Looper、Handler以及Message,还包括场景识别模块和决策模块。场景识别模块可以用于收集应用在终端运行过程中的运行特征。应用在终端运行过程中的运行特征具体包括应用的运行特征和/或应用运行时智能终端的运行特征。决策模块根据收集到的以上特征确定是否对该应用的应用任务进行限制处理。其中,当智能终端采用Android操作系统时,场景识别模块和决策模块可以位于安卓操作系统的应用层或应用框架层。
应用的运行特征包括:前台运行、后台运行、重要等级、是否被记录于限制处理名单、应用运行时的资源占用信息、应用无操作的持续时长等特征中的任意一个或多个。智能终端的运行特征包括:终端的状态特征(是否为省电状态等)、对终端无操作的持续时长、终端剩余电量、终端发热特征等特征中的任意一种或多种。
场景识别模块将收集到的运行特征传输给决策模块。决策模块根据各运行特征和预设的应用异常判断条件,确定出运行异常应用。决策模块通知场景识别模块获取运行异常应用的应用任务的运行特征,并根据该应用任务的运行特征确定该任务是否属于运行异常任务。
其中,决策模块可以单独根据应用的运行特征、智能终端的运行特征,或者应用的运行特征和智能终端的运行特征的组合来确定出运行异常应用。具体地,决策模块可以基于应用异常判断条件,确定某应用是否属于运行异常应用,应用异常判断条件具体包括以下一个或多个的组合:该应用是处于前台还是后台运行、该应用任务的使用情况(包括统计使用的频繁程度、重要性),该应用的类别(属于游戏类、即时通讯类、新闻类等)或者该应用是系统应用还是第三方应用,该应用运行时CPU的占有率和/或电量的消耗,该应用是否处于限制处理名单(记录有需要限制处理的应用的黑名单,记录有不需要限制处理的应用的白名单),终端是否处于省电模式或者用户无活动(无触屏、没有按键事件,无输入数据)的状态等。
具体地,获取运行异常应用的应用任务的运行特征的方法包括但不限于:获取运行异常应用的应用任务被执行的速度或者被执行的次数,或者,获取执行该运行异常应用的应用任务的硬件资源消耗等。其中,应用任务被执行的速度或者次数的具体获取方式可以为:获取一定时间内应用任务对应的消息被 Handler执行的速度或者次数。而应用任务对硬件资源的消耗可以通过记录该应用任务被单独执行时的电量损耗或CPU占用率的方式来获取,或者也可以通过统计该应用任务的消息单独被Handler执行时的电量损耗或CPU占用率。
根据该应用任务运行特征和预设的任务异常判断条件,确定该应用任务是否属于运行异常任务的方法包括但不限于以下一个或多个的组合:该应用任务被执行的速度是否大于预设的速度阈值、该应用任务被执行的次数是否大于预设的次数阈值、执行该应用任务的硬件资源消耗是否大于预设的消耗阈值,例如大于预设的电量消耗阈值和/或大于预设的CPU占用率。而满足预设的任务异常判断条件则可以对应包括但不限于以下一个或多个的组合:速度大于速度阈值、次数大于次数阈值、硬件资源消耗量大于对应的消耗阈值。
进一步具体的,上述获取一定时间内该应用任务生成的消息被Handler执行的速度或者次数的方法包括但不限于:首先确定出一定时长范围内所处理的所述应用任务对应的消息的个数(即执行的次数)。根据个数和时长可以进一步计算得到为该应用任务生成的消息被执行的速度。其中,当智能终端采用 Android操作系统时,可以根据消息的类型和目标Handler直接通过Android 系统的日志log信息来统计出为该应用任务生成的消息的个数及处理时间,并根据各个消息被处理的时间确定出时长。
具体的,在Android系统的log信息,包括了关于应用任务的消息的内容 Text部分,该部分描述了某个被Handler执行的消息的用户标识UID、进程ID (PID)和消息msg。msg部分包括:何时执行when、执行什么what、表示目标Handler的target。通过其中的PID、when和what可以确定该消息的类型,通过target可以确定执行该消息的Handler。例如,对于某个应用Application 的定时刷新界面的应用任务,该应用任务的消息中记录的类型为:pid:6442, msg中的when=0、what=1。目标Handler为:target=com.b.a.as。log信息中的记录具体如图3所示。统计其中的pid:6442,msg中的when=0、what=1、 target=com.b.a.as的消息的个数为6。再根据每条记录中的执行时间Time确定出处理时长为50ms(从230ms到280ms)。那么可以最终确定出该定时刷新界面的应用任务被处理的速度为120次/秒。需要说明的是,图3示出的log信息仅为举例,log信息的具体表现形式可参考现有的Android系统中关于log信息的描述。
如果决策模块根据场景识别模块收集到的运行异常应用的应用任务的运行特征,确定所述运行异常应用的应用任务为运行异常任务,则所述决策模块会做出对该运行异常任务进行限制处理的决定,并通知Looper。Looper在接收到该通知后,可以对为该运行异常任务生成的消息进行限制处理,以达到对所述运行异常任务的限制处理的目的。
具体地,对运行异常任务进行限制处理的方法包括停止执行该任务和/或延迟执行该任务。具体包括但不限于以下方法:
1、停止执行运行异常任务:当运行异常任务对应的消息需要被执行时,Looper会停止处理该消息。例如Looper取出运行异常任务的消息后,直接丢弃该消息,不再向该消息对应的Handler发送。因此,生成该消息的所述运行异常任务不会被执行。且进一步,由于Handler没有收到Looper发送的所述运行异常任务的消息,因此Handler也无法再次生成新的消息并添加至Looper 的消息队列中,从而使得运行异常任务停止,不再执行。例如已被用户切换至后台十分钟的应用1被发现其CPU占有率高于预设CPU占有率,则确定应用 1为异常运行应用,进一步收集应用1的应用任务,以确定是否有异常运行应用任务存在。经收集发现应用1在每100ms执行一次页面刷新任务。由于应用1已被持续置于后台达预设时间,例如十分钟,因此认为该页面刷新任务为运行异常任务。确定停止执行该页面刷新任务,从而降低终端的功耗。具体地,可以是通知Looper线程丢弃页面刷新任务所对应的消息,使得执行该页面刷新任务的Handler无法接收到该消息,因此也无法再重新生成新的页面刷新任务的消息并添加至Looper的消息队列中。应用1的页面刷新任务被终止。
2、延迟执行运行异常任务:在为该运行异常任务生成的消息作为目标消息需要被执行时,Looper延迟向该目标消息对应的Handler发送所述目标消息。延迟的处理步骤包括:将取出的目标消息延迟预定的时长后发送给对应的 Handler,当然也可以通知该目标消息的Handler后续对该类型的目标消息配置的处理时长进行修改,将配置的处理时长加长。
如果决策模块根据场景识别模块收集到的运行异常应用的应用任务的运行特征,确定所述运行异常应用的应用任务不是运行异常任务,则决策模块并不会发送针对该应用任务的限制处理通知。Looper正常执行该应用任务的目标消息。当然,在其他实施例中,如果决策模块决定不对所述应用任务进行限制处理,也可以通知给Looper,使Looper正常地将该应用任务的目标消息发给对应的Handler,由对应的Handler来执行该目标消息,以正常执行所述应用任务。
下面以智能终端中安装的新闻应用为例来对本申请的方案进行说明。用户在点击运行新闻应用后,新闻应用会产生定时刷新消息的应用任务,该应用对应的Handler通过产生一个类型为定时进行消息刷新的应用任务的消息以便定时完成该任务,该消息的内容包括上述应用任务的类型信息、消息执行时间和 Handler信息,Handler将该消息发送给Looper,Looper按照该消息中设置的消息执行时间将其排列到消息队列中。
在用户将新闻应用切换至后台的持续时间达到预设时间之后,场景识别模块收集该新闻应用的运行特征,所收集的运行特征包括:终端剩余电量、新闻应用为后台运行、新闻应用的CPU占用率。场景识别模块将收集到的运行特征发送给决策模块。决策模块再根据这些运行特征对新闻应用进行判断。此时,如果决策模块根据运行特征确定出新闻应用处于后台运行、终端剩余电量低于电量阈值、新闻应用的CPU占用率高于占用阈值,则决策模块可以确定该新闻应用为运行异常应用。
在确定该新闻应用为运行异常应用后,决策模块通知场景识别模块收集该新闻应用的应用任务的运行特征。当然决策模块还可以通知场景识别模块搜索新闻应用的某些指定应用任务的运行特征。假设场景识别模块收集到新闻应用的应用任务为定时刷新信息的任务,该任务的运行特征包括:该定时刷新信息的任务被执行的速度,该定时刷新信息的任务的CPU占用率。场景识别模块将收集到的这些运行特征发送给决策模块。决策模块判断出其中定时刷新信息的任务被执行的速度V次/秒大于预设的速度阈值,且CPU占用率为N%大于预设的占用率阈值。此时,决策模块确定该定时刷新信息的任务为运行异常任务。决策模块决定对该定时刷新信息的任务进行停止的限制处理,并通知给 Looper。
Looper在接收到决策模块的关于对定时刷新信息的任务进行限制处理的通知后,对为定时刷新信息的任务生成的消息进行监控,当该消息达到处理时间需要进行处理时,将该消息从消息队列中取出并丢弃该消息,以实现停止对所述新闻应用的定时刷新消息的任务进行处理的目的,使得终端不会再定时刷新的新闻信息。
针对终端当前执行的应用任务,可以对其中的运行异常任务执行延迟或停止等限制处理的方式,从而较好地节省终端的处理器以及电能等资源,提升了终端性能。
上述实施例中描述了先根据应用和/或智能终端的运行特征确定出应用为运行异常应用后,再确定出该运行异常应用中的运行异常任务,进而针对运行异常任务进行限制处理。在本申请的另一实施例中,还可以先针对某个任务的运行特征直接确定该任务为运行异常任务,再进一步根据该运行异常任务所对应的应用来判断该应用是否为可以被限制处理的应用,如果是则可以执行针对该运行异常任务的限制处理。
具体的,场景识别模块用于收集应用任务的运行特征。决策模块根据收集到的以上特征确定是否对该应用任务进行限制处理。其中,场景识别模块和决策模块可以位于应用层或应用框架层。
针对智能终端当前运行的应用任务,场景识别模块收集应用任务的运行特征,获取运行异常应用的应用任务运行特征的方法包括但不限于:获取运行异常应用的应用任务被执行的速度或者被执行的次数,或者,获取执行该运行异常应用的应用任务的硬件资源消耗等。其中,应用任务被执行的速度或者次数的具体获取方式可以为:获取一定时间内该应用任务生成的消息被Handler执行的速度或者次数。而该应用任务对硬件资源的消耗可以通过记录该应用任务被单独执行时的电量损耗或CPU占用率的方式来获取,或者也可以通过统计该应用任务的消息单独被Handler执行的过程中电量损耗或CPU占用率。根据该应用任务运行特征和预设的任务异常判断条件,确定该应用任务是否属于运行异常任务的方法包括但不限于:该应用任务被执行的速度大于预设的速度阈值、或该应用任务被执行的次数大于预设的次数阈值、或执行该应用任务的硬件资源消耗大于预设的消耗阈值,例如大于预设的电量消耗阈值和/或大于预设的CPU占用率。
在决策模块确定了该应用任务为运行异常任务后,通知场景识别模块收集该运行异常任务所对应的应用在终端运行过程中的运行特征。应用在终端运行过程中的运行特征具体包括应用的运行特征和/或智能终端的运行特征。其中,应用的运行特征包括:前台运行、后台运行、重要等级、是否被记录于限制处理名单、应用运行时的资源占用信息、应用无操作的持续时长等特征中的任意一个或多个。智能终端的运行特征包括:终端的状态特征(是否为省电状态)、对终端无操作的持续时长、终端剩余电量、终端发热特征等特征中的任意一种或多种。
决策模块可以单独根据应用的运行特征、智能终端的运行特征,或者应用的运行特征和智能终端的运行特征的组合,并根据应用异常判断条件,来确定该应用是否为运行异常应用。具体地,决策模块可以基于应用异常判断条件,确定某应用是否为运行异常应用。应用异常判断条件具体包括以下一个或多个的组合:该应用是处于前台还是后台运行、该应用任务的使用情况(包括统计使用的频繁程度、重要性),该应用的类别(属于游戏类、即时通讯类、新闻类等)或者该应用是系统应用还是第三方应用,该应用运行时CPU的占有率和/或电量的消耗,该应用是否处于限制处理名单(记录有需要限制处理的应用的黑名单,记录有不需要限制处理的应用的白名单),终端是否处于省电模式或者用户无活动(无触屏、没有按键事件,无输入数据)的状态等。
如果决策模块根据场景识别模块收集到的应用任务的运行特征,确定该应用任务为运行异常任务,且该应用任务对应的应用也为运行异常应用,则所述决策模块会做出对该运行异常任务进行限制处理的决定,并通知Looper。 Looper在接收到该通知后,可以通过对该运行异常任务生成的消息进行限制处理,以达到对所述运行异常任务的限制处理的目的。
具体地,对运行异常任务进行限制处理的方法包括停止执行该运行异常任务和/或延迟执行该运行异常任务,具体的停止处理或延迟处理的方式可参考上一实施例的描述。如果决策模块根据场景识别模块收集到的应用任务的运行特征,确定该应用任务不是运行异常任务。则决策模块无需发送关于限制处理的决定的通知,Looper正常执行该任务生成的消息。当然决策模块也可以通知Looper正常执行该运行异常任务的消息。
本申请实施例根据应用任务的运行特征和对应应用的运行特征,可以快速、准确地针对确定出运行异常任务并执行对运行异常任务的延迟或停止等限制处理,从而较好地节省终端的处理器以及电能等资源,提升了终端性能。
图4为本申请实施提供的一种针对应用的处理方法流程示意图,本申请实施例的所述方法可以由终端处理器来实现,所述方法包括如下步骤。
S401:判断应用当前是否为后台运行。所述应用被打开后,Android系统会调用onResume等方法来使该应用的activity处于运行状态。在该应用的 activity启动后,activity包括:运行Resumed状态、暂停Paused状态以及停止 Stopped状态。如果所述应用的activity处于Resumed状态,则可以认为所述应用处于前台运行状态,而如果所述应用的activity处于Paused状态,则认为所述应用处于后台运行。如果应用被切换到后台运行,则执行下述的S402。而如果判断结果为前台运行时,则可以直接结束,或可以执行下述图6对应实施例中的相关步骤。进一步地,对于所述S401判断在后台运行后,还可以进一步地在确定该应用被切换到后台运行一定时长后,再执行下述的S402。
另外,在所述S401之前,还可以根据所述应用的运行特征,判断所述应用是否为运行异常的应用,若是则执行所述S401。
更进一步可选地,在确定所述应用为后台运行且持续运行时间达到预设的持续时间后,可以再进一步地收集该应用在运行过程中的运行特征,以便于在根据收集到的运行特征和预设的应用异常判断条件,确定该应用是否为运行异常应用,如果是,才执行下述的S402。
S402:获取该应用的应用任务被处理的速度。在Android系统中,通过统计log信息中该应用任务对应的消息的个数和处理时长,可以得到所述应用任务的处理速度。
S403:判断获取到的速度是否大于预设的速度阈值。若判断结果为是,则执行下述的S404。否则,结束,或者可以正常处理所述目标消息,将该目标消息发送给对应的Handler。
S404:获取所述应用任务对终端的资源占用信息,资源占用信息中包括了资源占用率和占用时长。具体获取该应用任务被执行过程中对CPU的占用信息,包括对CPU的占用率、占用时长等。
S405:判断资源占用率是否大于预设阈值,且占用时长是否大于预设时长阈值。若资源占用率大于预设阈值,且占用时长大于预设时长阈值,可以确定出所述应用任务为运行异常任务,执行下述的S406。否则,结束,或者可以正常处理所述目标消息,将该目标消息发送给对应的Handler。
S406:获取所述应用的重要等级。该应用的重要等级可以是在用户安装了该应用后,针对该应用的使用频繁程度进行统计,根据统计结果可以将其标记为重要应用。也可以是用户直接标记应用为重要等级。或对系统关键应用也可以直接标记为重要等级。具体可以根据预置的策略为确定应用的重要等级。
S407:判断该应用是否为重要应用。基于重要等级来确定该应用是否为重要应用,若不是,则执行下述S408。否则,结束,或者可以正常处理所述目标消息,将该目标消息发送给对应的Handler。本申请实施例中,所述S407 和S408为可选步骤。在具体实施时,还可以在所述S406判断得出所述资源占用率大于预设阈值后,直接将所述应用任务确定为运行异常任务,执行下述的 S409。
S408:对所述应用任务进行限制处理。通过上述一系列的判断,可以确定所述应用为运行异常应用,所述应用任务为运行异常任务。对运行异常任务的限制处理包括停止或延迟将所述运行异常任务的消息发送给对应的Handler。具体是采用停止还是延迟的限制处理方式,可以根据用户需求、和/或终端需求进行预先配置。该配置可以为默认配置也可以由用户手动配置。
例如,在本实施例中,由于所述应用被切换到后台运行、所述应用任务的处理速度高于阈值、该应用任务的资源占用率高、且所述应用为非重要应用,那么根据预先配置的策略可以采用停止执行的限制处理方式。而基于在其他实施例中配置的策略,如果所述应用被切换到后台运行、所述应用任务的处理速度高于阈值、该应用任务的资源占用率高、且所述应用为非重要应用,但智能终端当前的电量充足,则可以采用延迟处理的限制处理方式。
同样该实施例中的所述方法还可以包括被限制处理的运行异常任务在满足恢复条件时可以取消限制处理的步骤。
本申请实施例可以根据应用、任务的运行特征对应用任务执行延迟或停止等限制处理,较好地节省了终端的处理器以及电能等资源,提升了终端性能。
图5是本申请实施例提供的另一种针对应用的处理方法流程示意图,本申请实施例的所述方法可以由终端处理器来实现,所述应用运行于终端的操作系统中,所述方法包括如下步骤。
S501:判断所述应用的应用任务是否为运行异常任务。具体可以根据所述应用的应用任务的运行特征和预设的任务异常判断条件,确定所述应用任务是否属于运行异常任务。
S502:判断应用当前是否为后台运行。所述应用被打开后,Android系统会调用onResume等方法来使该应用的activity处于运行状态。在该应用的 activity启动后,activity包括:运行Resumed状态、暂停Paused状态以及停止 Stopped状态。如果所述应用的activity处于Resumed状态,则可以认为所述应用处于前台运行状态,而如果所述应用的activity处于Paused状态,则认为所述应用处于后台运行。如果是,则执行下述的S503。否则,可以结束,或再次执行所述S501。
S503:判断在后台运行的持续时间是否达到预设的持续时间。如果是则执行下述的S504,否则可以接收,或者再次执行上述的S502。进一步可选地,在确定出应用在后台运行的持续时间达到预设的持续时间后,还可以再进一步地收集该应用在运行过程中的运行特征,以便于再根据收集到的运行特征和预设的应用异常判断条件,更为准确地确定该应用是否为运行异常应用,如果是,才执行下述的S504。
S504:确定出所述应用属于运行异常应用,对所述运行异常任务进行限制处理;其中,所述对所述运行异常任务进行限制处理包括停止执行所述运行异常任务、或延迟处理所述运行异常任务。
同样该实施例中的所述方法还可以包括被限制处理的运行异常任务在满足恢复条件时可以取消限制处理的步骤。
本申请实施例可以根据应用、任务的运行特征,对应用任务执行延迟或停止等限制处理,较好地节省了终端的处理器以及电能等资源,提升了终端性能。
图6为本申请实施例提供的再一种针对应用的处理方法流程示意图,本申请实施例的所述方法可以由终端处理器来实现,所述方法包括如下步骤。
S601:判断应用当前是否为前台运行。若为前台运行,执行下述的S602。而如果判断结果为后台运行时,则可以执行上述图4对应实施例中的相关步骤,或者继续执行本步骤。所述应用被打开后,Android系统会调用onResume 等方法来使该应用的activity处于运行状态。在该应用的activity启动后,activity 包括:运行Resumed状态、暂停Paused状态以及停止Stopped状态。如果所述应用的activity处于Resumed状态,则可以认为所述应用处于前台运行状态,而如果所述应用的activity处于Paused状态,则认为所述应用处于后台运行。
S602:获取终端当前的运行特征。本实施例中所获取的终端的运行特征包括:终端的状态特征(是否为省电状态)、对终端无操作的持续时长、终端剩余电量、终端发热特征等特征中的任意一种或多种。
S603:判断终端是否处于省电状态、且对终端无操作的持续时长是否大于预设的时长阈值。若处于省电状态且超过时长阈值,则确定该应用为运行异常应用,则执行下述的S604,否则,结束,或者可以正常处理所述目标消息,将该目标消息发送给对应的Handler。在终端处于省电状态,且应用为前台运行时,如果检测到终端长时间没有接收到用户的操作,也可以将该应用确定为运行异常应用。
S604:获取该应用所对应的应用任务被处理的速度。在Android系统中,通过统计log信息中该应用任务对应的消息的个数和处理时长,可以得到所述应用任务的处理速度。
S605:判断获取到的速度是否大于预设的速度阈值。若判断结果为是,则执行下述的S606。否则,结束,或者可以正常处理所述应用任务的消息,将该应用任务的消息发送给对应的Handler。
S606:延迟处理所述应用任务。具体可以针对所述应用任务延迟一倍或多倍处理时长。
上述图4和图6对应的实施例描述了两种确定运行异常应用和运行异常任务的方式,但还可以有其他的确定方式,比如应用对资源的占用情况、应用是否被用户指定在黑名单中等等方式。
本申请实施例可以应用、任务的运行特征对应用任务执行延迟或停止等限制处理,较好地节省了终端的处理器以及电能等资源,提升了终端性能。
下面再对本申请实施例的针对应用的处理装置及智能终端进行详细描述。
图7为本申请实施例提供的一种针对应用的处理装置的结构示意图,本申请实施例的所述装置可设置在智能终端中,例如设置在智能手机、平板电脑、智能可穿戴设备等终端中,具体的,所述装置包括以下结构。
异常任务确定模块701,用于当所述应用在所述操作系统的后台持续运行时间达到预设持续时间时,根据所述应用的应用任务的运行特征和预设的任务异常判断条件,确定所述应用任务是否属于运行异常任务;处理模块702,用于在所述异常任务确定模块701确定出所述应用任务属于所述运行异常任务,则对所述运行异常任务进行限制处理;其中,所述处理模块702,在用于对所述运行异常任务进行限制处理时,具体用于对所述运行异常任务进行限制处理包括停止执行所述运行异常任务、或延迟处理所述运行异常任务。
进一步可选地,当所述应用在所述操作系统的后台持续运行时间达到预设持续时间时,本申请实施例的所述装置还包括:异常应用确定模块703,用于根据所述应用的运行特征和预设的应用异常判断条件,确定所述应用是否属于运行异常应用;通知模块704,用于在所述异常应用确定模块703确定出该应用为运行异常应用时,通知给所述异常任务确定模块701,使所述异常任务确定模块701开始根据所述应用的应用任务的运行特征和预设的任务异常判断条件,确定所述应用任务是否属于运行异常任务的功能。
其中可选地,所述应用在终端上运行过程中的运行特征包括:应用的运行特征和/或终端的运行特征;所述应用的运行特征包括:前台运行、后台运行、重要等级、是否被记录于限制处理名单、应用运行时的资源占用信息、应用无操作的持续时长中的任意一个或多个;终端的运行特征包括:终端的状态特征 (是否为省电状态等)、对终端无操作的持续时长、终端剩余电量、终端发热特征中的任意一种或多种。
进一步可选地,所述处理模块702,具体用于停止对循环者Looper的消息队列中所述运行异常任务的消息进行处理;或者,延迟将循环者Looper的消息队列中所述运行异常任务的消息发送给对应的处理者Handler。
进一步可选地,所述应用任务的运行特征包括:所述应用任务被执行的速度或者被执行的次数,或执行所述应用任务的硬件资源消耗量。包括电能消耗量,或CPU占用率等。
具体的,所述异常任务确定模块701、处理模块702、异常应用确定模块 703以及通知模块704则可以对应于上述实施例中提到的决策模块。所述异常任务确定模块701、异常应用确定模块703可以通过上述的场景识别模块获取到相关的运行特征。各模块除了包括本实施例中提及的功能外,还可以包括上述场景识别模块和决策模块执行的其他功能,例如,所述处理模块702作为决策模块的一部分可以执行对被限制处理的运行异常任务的恢复处理等等。具体的,所述装置中各个模块的具体实现可参考图1至图6所对应的实施例中相关内容的描述,在此不赘述。
针对终端当前执行的应用任务,可以对其中的运行异常任务执行延迟或停止等限制处理的方式,从而较好地节省终端的处理器以及电能等资源,提升了终端性能。
图8为本申请实施例提供的一种针对应用的处理装置的结构示意图,本申请实施例的所述装置可设置在智能终端中,例如设置在智能手机、平板电脑、智能可穿戴设备等终端中,具体的,所述装置包括以下结构。
异常任务确定模块801,用于根据所述应用的应用任务的运行特征和预设的任务异常判断条件,确定所述应用任务是否属于运行异常任务;异常应用确定模块802,用于在所述异常任务确定模块801确定出所述应用任务属于运行异常任务时,则进一步根据所述应用的运行特征和预设的应用异常判断条件,确定所述应用是否属于运行异常应用。处理模块803,用于在所述异常应用确定模块802确定出所述应用为运行异常应用时,对所述运行异常任务进行限制处理;其中,所述处理模块803,在用于对所述运行异常任务进行限制处理时,具体用于停止执行所述运行异常任务、或延迟处理所述运行异常任务。
其中可选地,所述应用在终端上运行过程中的运行特征包括:应用的运行特征和/或终端的运行特征;所述应用的运行特征包括:前台运行、后台运行、重要等级、是否被记录于限制处理名单、应用运行时的资源占用信息、应用无操作的持续时长中的任意一个或多个;终端的运行特征包括:终端的状态特征 (是否为省电状态等)、对终端无操作的持续时长、终端剩余电量、终端发热特征中的任意一种或多种。
其中可选地,所述处理模块803,具体用于停止对循环者Looper的消息队列中所述运行异常任务的消息进行处理;或者,延迟将循环者Looper的消息队列中所述运行异常任务的消息发送给对应的处理者Handler。
其中可选地,所述应用任务的运行特征包括:所述应用任务被执行的速度或者被执行的次数,或执行所述应用任务的硬件资源消耗。
具体的,所述异常任务确定模块801、处理模块803、异常应用确定模块 803则可以对应于上述实施例中提到的决策模块。可以通过上述的场景识别模块来获取相关的运行特征。各模块除了包括本实施例中提及的功能外,还可以包括上述场景识别模块和决策模块执行的其他功能,例如,所述处理模块803 作为决策模块的一部分可以执行对被限制处理的运行异常任务的恢复处理等。具体的,所述装置中各个模块的具体实现可参考图1至图6所对应的实施例中相关内容的描述,在此不赘述。
根据应用任务的运行特征和对应应用的运行特征,可以快速、准确地针对确定出运行异常任务并执行对运行异常任务的延迟或停止等限制处理,从而较好地节省终端的处理器以及电能等资源,提升了终端性能。
图9为本申请实施例提供的一种智能终端的结构示意图,本申请实施例的所述智能终端可以为智能手机、平板电脑、智能可穿戴设备等终端,根据其终端类型可以包括:用户接口906(显示屏、按键键盘等),电源模块,处理器 901,存储器902以及其他的诸如网络接口905、摄像头、穿戴机构(如表带) 等结构。各个结构之间可以通过总线903相连。
所述处理器901可以是中央处理器(central processing unit,简称CPU),网络处理器(network processor,简称NP)或者CPU和NP的组合。
所述处理器901还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,简称ASIC),可编程逻辑器件(programmable logic device,简称PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,简称CPLD),现场可编程逻辑门阵列(field-programmable gate array,简称FPGA),通用阵列逻辑(generic array logic,简称GAL)或其任意组合。
所述存储器902可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,简称RAM);存储器902也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,简称HDD)或固态硬盘(solid-state drive,简称SSD);存储器902 还可以包括上述种类的存储器902的组合。
所述总线903可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线903可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
具体的,本申请实施例中所述智能终端的所述存储器902用于存储安装在所述智能终端中的应用、操作系统、用户接口模块、网络接口模块的相关数据,并存储了针对应用的处理指令(即针对应用的处理程序)。所述应用运行于终端的操作系统上。
所述处理器901,与所述存储器902相连,调用所述存储器902中存储的针对应用的处理指令,用于执行如下步骤:
当所述应用在所述操作系统的后台持续运行时间达到预设持续时间时,根据所述应用的应用任务的运行特征和预设的任务异常判断条件,确定所述应用任务是否属于运行异常任务;
如果确定所述应用任务属于所述运行异常任务,则对所述运行异常任务进行限制处理;
其中,所述对所述运行异常任务进行限制处理包括停止执行所述运行异常任务、或延迟处理所述运行异常任务。
进一步可选地,所述处理器901,调用所述存储器902中存储的针对应用的处理指令,还用于执行如下步骤:
当所述应用在所述操作系统的后台持续运行时间达到预设持续时间时,所述根据所述应用的应用任务的运行特征和预设的任务异常判断条件,确定所述应用任务是否属于运行异常任务之前,根据所述应用在终端上运行过程中的运行特征和预设的应用异常判断条件,确定所述应用是否属于运行异常应用;
若所述应用属于运行异常应用,则对所述运行异常应用中的应用任务执行所述根据所述应用的应用任务的运行特征和预设的任务异常判断条件,确定所述应用任务是否属于运行异常任务的步骤。
进一步可选地,所述处理器901,调用所述存储器902中存储的针对应用的处理指令,还用于执行如下步骤:
停止对循环者Looper的消息队列中所述运行异常任务的消息进行处理;或者,延迟将循环者Looper的消息队列中所述运行异常任务的消息发送给对应的处理者Handler。
其中,所述应用在终端上运行过程中的运行特征包括:应用的运行特征和 /或终端的运行特征;
所述应用的运行特征包括:前台运行、后台运行、重要等级、是否被记录于限制处理名单、应用运行时的资源占用信息、应用无操作的持续时长中的任意一个或多个;
终端的运行特征包括:终端的状态特征(是否为省电状态等)、对终端无操作的持续时长、终端剩余电量、终端发热特征中的任意一种或多种。
所述应用任务的运行特征包括:所述应用任务被执行的速度或者被执行的次数,或执行所述应用任务的硬件资源消耗量。
具体的,本申请实施例的所述处理器901的具体实现可参考图1至图6 所对应实施例中相关功能及步骤的具体描述,在此不赘述。
针对终端当前执行的应用任务,可以对其中的运行异常任务执行延迟或停止等限制处理的方式,从而较好地节省终端的处理器以及电能等资源,提升了终端性能。
图10为本申请实施例提供的一种智能终端的结构示意图,本申请实施例的所述智能终端可以为智能手机、平板电脑、智能可穿戴设备等终端,根据其终端类型可以包括:用户接口1004(显示屏、按键键盘等),电源模块,处理器1001,存储器1002以及其他的诸如网络接口1005、摄像头、穿戴机构(如表带)等结构。各个结构之间可以通过总线1003相连。
具体的,本申请实施例中所述智能终端的所述存储器1002用于存储安装在所述智能终端中的应用、操作系统、用户接口模块、网络接口模块的相关数据,并存储了针对应用的处理指令(即针对应用的处理程序)。所述应用运行于终端的操作系统上。
所述处理器1001,与所述存储器1002相连,调用所述存储器1002中存储的针对应用的处理指令,用于执行如下步骤:
根据所述应用的应用任务的运行特征和预设的任务异常判断条件,确定所述应用任务是否属于运行异常任务;
如果确定所述应用任务属于所述运行异常任务,则进一步根据所述应用在终端上运行过程中的运行特征和预设的应用异常判断条件,确定所述应用是否属于运行异常应用;
如果确定出所述应用属于运行异常应用,则对所述运行异常任务进行限制处理;
其中,所述对所述运行异常任务进行限制处理包括停止执行所述运行异常任务、或延迟处理所述运行异常任务。
进一步可选地,所述处理器1001,调用所述存储器1002中存储的针对应用的处理指令,用于执行如下步骤:
停止对循环者Looper的消息队列中所述运行异常任务的消息进行处理;或者,延迟将循环者Looper的消息队列中所述运行异常任务的消息发送给对应的处理者Handler。
其中,所述应用在终端上运行过程中的运行特征包括:应用的运行特征和 /或终端的运行特征;
所述应用的运行特征包括:前台运行、后台运行、重要等级、是否被记录于限制处理名单、应用运行时的资源占用信息、应用无操作的持续时长中的任意一个或多个;
终端的运行特征包括:终端的状态特征(是否为省电状态等)、对终端无操作的持续时长、终端剩余电量、终端发热特征中的任意一种或多种。
所述应用任务的运行特征包括:所述应用任务被执行的速度或者被执行的次数,或执行所述应用任务的硬件资源消耗量。
具体的,本申请实施例的所述处理器1001的具体实现可参考图1至图6 所对应实施例中相关功能及步骤的具体描述,在此不赘述。
根据应用任务的运行特征和对应应用的运行特征,可以快速、准确地针对确定出运行异常任务并执行对运行异常任务的延迟或停止等限制处理,从而较好地节省终端的处理器以及电能等资源,提升了终端性能。
本申请实施例在需要对某个应用生成的目标消息进行处理时,先获取该目标消息的关联消息,并基于该关联消息来对满足限制处理条件的目标消息执行延迟或停止等限制处理,较好地节省了终端的处理器以及电能等资源,较好地提升了终端性能。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (14)
1.一种针对应用的处理方法,其特征在于,所述应用运行于终端的操作系统上,所述方法包括:
当所述应用在所述操作系统的后台持续运行时间达到预设持续时间时,根据所述应用的应用任务的运行特征和预设的任务异常判断条件,确定所述应用任务是否属于运行异常任务;
如果确定所述应用任务属于所述运行异常任务,则对所述运行异常任务进行限制处理;
其中,所述对所述运行异常任务进行限制处理包括停止执行所述运行异常任务、或延迟处理所述运行异常任务;
当所述应用在所述操作系统的后台持续运行时间达到预设持续时间时,在所述根据所述应用的应用任务的运行特征和预设的任务异常判断条件,确定所述应用任务是否属于运行异常任务之前,还包括:
根据所述应用在终端上运行过程中的运行特征和预设的应用异常判断条件,确定所述应用是否属于运行异常应用,所述应用异常判断条件包括以下一项或多项:所述应用是否后台运行,所述应用运行时CPU的占有率,所述应用运行时电量的消耗,终端是否处于省电模式或用户无活动的状态;
若所述应用属于运行异常应用,则对所述运行异常应用中的应用任务执行:根据所述应用的应用任务的运行特征和预设的任务异常判断条件,确定所述应用任务是否属于运行异常任务的步骤;
所述对所述运行异常任务进行限制处理,包括:
延迟将循环者Looper的消息队列中所述运行异常任务的消息发送给对应的处理者Handler。
2.如权利要求1所述的方法,其特征在于,所述应用在终端上运行过程中的运行特征包括:应用的运行特征和/或终端的运行特征;
所述应用的运行特征包括:前台运行、后台运行、重要等级、是否被记录于限制处理名单、应用运行时的资源占用信息、应用无操作的持续时长中的任意一个或多个;
终端的运行特征包括:终端的状态特征、对终端无操作的持续时长、终端剩余电量、终端发热特征中的任意一种或多种。
3.如权利要求1或2所述的方法,其特征在于,所述应用任务的运行特征包括:所述应用任务被执行的速度或者被执行的次数,或执行所述应用任务的硬件资源消耗量。
4.一种针对应用的处理方法,其特征在于,所述应用运行于终端的操作系统上,所述方法包括:
根据所述应用的应用任务的运行特征和预设的任务异常判断条件,确定所述应用任务是否属于运行异常任务;
如果确定所述应用任务属于所述运行异常任务,则根据所述应用在终端上运行过程中的运行特征和预设的应用异常判断条件,确定所述应用是否属于运行异常应用,所述应用异常判断条件包括以下一项或多项:所述应用是否后台运行,所述应用运行时CPU的占有率,所述应用运行时电量的消耗,终端是否处于省电模式或用户无活动的状态;
如果确定出所述应用属于运行异常应用,则对所述运行异常任务进行限制处理;
所述对所述运行异常任务进行限制处理,包括:
延迟将循环者Looper的消息队列中所述运行异常任务的消息发送给对应的处理者Handler。
5.如权利要求4所述的方法,其特征在于,所述应用在终端上运行过程中的运行特征包括:应用的运行特征和/或终端的运行特征;
所述应用的运行特征包括:前台运行、后台运行、重要等级、是否被记录于限制处理名单、应用运行时的资源占用信息、应用无操作的持续时长中的任意一个或多个;
终端的运行特征包括:终端的状态特征、对终端无操作的持续时长、终端剩余电量、终端发热特征中的任意一种或多种。
6.如权利要求4或5所述的方法,其特征在于,所述应用任务的运行特征包括:所述应用任务被执行的速度或者被执行的次数,或执行所述应用任务的硬件资源消耗。
7.一种针对应用的处理装置,其特征在于,所述应用运行于终端的操作系统上,所述装置包括:
异常任务确定模块,用于当所述应用在所述操作系统的后台持续运行时间达到预设持续时间时,根据所述应用的应用任务的运行特征和预设的任务异常判断条件,确定所述应用任务是否属于运行异常任务;
处理模块,用于在所述异常任务确定模块确定出所述应用任务属于所述运行异常任务,则对所述运行异常任务进行限制处理;
其中,所述处理模块,在用于对所述运行异常任务进行限制处理时,具体用于停止执行所述运行异常任务、或延迟处理所述运行异常任务;
异常应用确定模块,用于根据所述应用在终端上运行过程中的运行特征和预设的应用异常判断条件,确定所述应用是否属于运行异常应用,所述应用异常判断条件包括以下一项或多项:所述应用是否后台运行,所述应用运行时CPU的占有率,所述应用运行时电量的消耗,终端是否处于省电模式或用户无活动的状态;
通知模块,用于在所述异常应用确定模块确定出所述应用为运行异常应用时,通知所述异常任务确定模块;
所述处理模块,具体用于延迟将循环者Looper的消息队列中所述运行异常任务的消息发送给对应的处理者Handler。
8.如权利要求7所述的装置,其特征在于,所述应用在终端上运行过程中的运行特征包括:应用的运行特征和/或终端的运行特征;
所述应用的运行特征包括:前台运行、后台运行、重要等级、是否被记录于限制处理名单、应用运行时的资源占用信息、应用无操作的持续时长中的任意一个或多个;
终端的运行特征包括:终端的状态特征、对终端无操作的持续时长、终端剩余电量、终端发热特征中的任意一种或多种。
9.如权利要求7或8所述的装置,其特征在于,所述应用任务的运行特征包括:所述应用任务被执行的速度或者被执行的次数,或执行所述应用任务的硬件资源消耗量。
10.一种针对应用的处理装置,其特征在于,所述应用运行于终端的操作系统上,所述装置包括:
异常任务确定模块,用于根据所述应用的应用任务的运行特征和预设的任务异常判断条件,确定所述应用任务是否属于运行异常任务;
异常应用确定模块,用于在所述异常任务确定模块确定出所述应用任务属于所述运行异常任务,则进一步根据所述应用在终端上运行过程中的运行特征和预设的应用异常判断条件,确定所述应用是否属于运行异常应用,所述应用异常判断条件包括以下一项或多项:所述应用是否后台运行,所述应用运行时CPU的占有率,所述应用运行时电量的消耗,终端是否处于省电模式或用户无活动的状态;
处理模块,用于在所述异常应用确定模块确定出所述应用属于运行异常应用时,对所述运行异常任务进行限制处理;
所述处理模块,具体用于延迟将循环者Looper的消息队列中所述运行异常任务的消息发送给对应的处理者Handler。
11.如权利要求10所述的装置,其特征在于,所述应用在终端上运行过程中的运行特征包括:应用的运行特征和/或终端的运行特征;
所述应用的运行特征包括:前台运行、后台运行、重要等级、是否被记录于限制处理名单、应用运行时的资源占用信息、应用无操作的持续时长中的任意一个或多个;
终端的运行特征包括:终端的状态特征、对终端无操作的持续时长、终端剩余电量、终端发热特征中的任意一种或多种。
12.如权利要求10或11所述的装置,其特征在于,所述应用任务的运行特征包括:所述应用任务被执行的速度或者被执行的次数,或执行所述应用任务的硬件资源消耗。
13.一种智能终端,其特征在于,包括:处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器在执行所述指令时根据所述指令执行如权利要求1至3任一项所述的方法。
14.一种智能终端,其特征在于,包括:处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器在执行所述指令时根据所述指令执行如权利要求4至6任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/076255 WO2017156676A1 (zh) | 2016-03-14 | 2016-03-14 | 一种针对应用的处理方法、装置及智能终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107615250A CN107615250A (zh) | 2018-01-19 |
CN107615250B true CN107615250B (zh) | 2020-12-15 |
Family
ID=59851411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680024971.7A Active CN107615250B (zh) | 2016-03-14 | 2016-03-14 | 一种针对应用的处理方法、装置及智能终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107615250B (zh) |
WO (1) | WO2017156676A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3663925B1 (en) * | 2017-10-09 | 2021-12-01 | Huawei Technologies Co., Ltd. | Method for processing refreshing display abnormality, and terminal |
CN108717376A (zh) * | 2018-03-23 | 2018-10-30 | 河源市美晨智能研究院 | 后台应用的管理方法、电子设备及具有存储功能的装置 |
CN109992087B (zh) * | 2019-04-09 | 2023-10-17 | 努比亚技术有限公司 | 可穿戴设备数据显示的优化方法、可穿戴设备及存储介质 |
CN110163155B (zh) * | 2019-05-23 | 2021-07-09 | 北京旷视科技有限公司 | 人脸数据的处理方法、装置、电子设备及可读存储介质 |
CN112346831A (zh) * | 2019-08-09 | 2021-02-09 | 华为技术有限公司 | 管理异常应用的方法和装置 |
CN113268290B (zh) * | 2021-06-16 | 2024-07-26 | 中移(杭州)信息技术有限公司 | 软件容器优化方法、装置、设备及计算机程序产品 |
CN113467916A (zh) * | 2021-07-15 | 2021-10-01 | 北京梧桐车联科技有限责任公司 | 应用启动方法及装置 |
CN114428546B (zh) * | 2022-01-25 | 2024-04-09 | 惠州Tcl移动通信有限公司 | 后台应用清理方法、装置、存储介质及终端设备 |
CN118259738A (zh) * | 2022-12-28 | 2024-06-28 | 蔚来移动科技有限公司 | 用于控制Job执行的方法、系统和设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013167022A2 (zh) * | 2013-02-22 | 2013-11-14 | 中兴通讯股份有限公司 | 实现移动终端节电的方法及装置及移动终端 |
CN104298569A (zh) * | 2014-09-30 | 2015-01-21 | 北京金山安全软件有限公司 | 应用程序运行异常的检测方法、装置和移动终端 |
CN104636236A (zh) * | 2014-12-30 | 2015-05-20 | 深圳天珑无线科技有限公司 | 终端高温异常的检测方法及移动终端 |
CN105373419A (zh) * | 2014-08-26 | 2016-03-02 | 阿里巴巴集团控股有限公司 | 一种后台应用的操作方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5259205B2 (ja) * | 2008-01-30 | 2013-08-07 | 京セラ株式会社 | 携帯電子機器 |
NL2003915C2 (en) * | 2009-12-07 | 2011-06-09 | Yggdra Solutions | Improved power usage management. |
CN104298335B (zh) * | 2013-07-19 | 2017-11-21 | 贝壳网际(北京)安全技术有限公司 | 移动终端的应用程序进程清理方法、装置和移动终端 |
CN105718028B (zh) * | 2016-01-22 | 2019-11-05 | 青岛海信移动通信技术股份有限公司 | 一种基于识别耗电应用的省电方法及装置 |
-
2016
- 2016-03-14 CN CN201680024971.7A patent/CN107615250B/zh active Active
- 2016-03-14 WO PCT/CN2016/076255 patent/WO2017156676A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013167022A2 (zh) * | 2013-02-22 | 2013-11-14 | 中兴通讯股份有限公司 | 实现移动终端节电的方法及装置及移动终端 |
CN104007805A (zh) * | 2013-02-22 | 2014-08-27 | 中兴通讯股份有限公司 | 实现移动终端节电的方法及装置及移动终端 |
CN105373419A (zh) * | 2014-08-26 | 2016-03-02 | 阿里巴巴集团控股有限公司 | 一种后台应用的操作方法及装置 |
CN104298569A (zh) * | 2014-09-30 | 2015-01-21 | 北京金山安全软件有限公司 | 应用程序运行异常的检测方法、装置和移动终端 |
CN104636236A (zh) * | 2014-12-30 | 2015-05-20 | 深圳天珑无线科技有限公司 | 终端高温异常的检测方法及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
WO2017156676A1 (zh) | 2017-09-21 |
CN107615250A (zh) | 2018-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107615250B (zh) | 一种针对应用的处理方法、装置及智能终端 | |
US10838838B2 (en) | Method and apparatus for dealing with abnormality of application program and storage medium | |
CN103092700B (zh) | 内存清理方法、装置和终端设备 | |
CN105677477B (zh) | 一种优化应用程序资源的方法、装置及电子设备 | |
WO2017211226A1 (zh) | 展示媒体文件的方法、终端和存储介质 | |
CN110764906B (zh) | 内存回收处理方法、装置、电子设备以及存储介质 | |
CN106855826B (zh) | 一种后台应用程序的控制方法及装置 | |
CN110737606B (zh) | 内存回收处理方法、装置、电子设备以及存储介质 | |
CN103744727A (zh) | 一种启动服务的方法、装置和智能设备 | |
CN108572898A (zh) | 一种控制接口的方法、装置、设备、以及存储介质 | |
CN102981905B (zh) | 一种应用程序控制方法及电子设备 | |
CN106973003B (zh) | 群组消息通知方法、客户端、电子设备和服务器 | |
CN111381961A (zh) | 一种处理定时任务的方法、装置与电子设备 | |
CN110851294B (zh) | 一种程序运行崩溃补救的方法及装置 | |
WO2024160136A1 (zh) | 任务调度方法、装置和电子设备 | |
CN109918276B (zh) | 基于app应用程序的曝光埋点处理方法及相关设备 | |
CN114416320A (zh) | 一种任务处理方法、装置、设备以及存储介质 | |
CN106503543A (zh) | 一种管理应用程序的方法和装置 | |
CN113542256A (zh) | 客户端中登录凭证的更新方法、装置、设备及存储介质 | |
CN109491771B (zh) | 基于系统性能优化的任务处理方法及相关设备 | |
CN111143066A (zh) | 一种事件处理方法、装置、设备及存储介质 | |
CN116860552A (zh) | 应用程序运行监测方法、装置、电子设备及存储介质 | |
CN103516864A (zh) | 在移动终端中监控预设操作的方法和装置 | |
CN115858114A (zh) | 空闲任务的调度方法、装置、电子设备及可读存储介质 | |
WO2018053916A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |