电子设备功耗的降低方法、装置及具有显示屏的电子设备
技术领域
本发明属于电子设备技术领域,特别是涉及一种电子设备功耗的降低方法、装置及具有显示屏的电子设备。
背景技术
随着移动终端设备的广泛应用,移动终端中装载过多的应用,内存在被应用消耗完后,之前启动的应用会在内存资源不足的时候被杀死,但应用在被杀死后会自动重启,部分应用在重启过程中会卡住,无法正常完成自启的流程,这时会一直占用资源无法释放,不管是使用过程中还是处在待机状态。这时就需要一种机制对这种一直异常占用资源无法释放的应用进行强制清理。
目前遇到以上问题的做法,会对所有进程无甄别的全部杀死,并阻止其再次自动重启,或是不进行任何处理。而对此类问题的解决方法过于粗暴,要么将全部进程进行杀死,或是置于白名单中,即使出现异常占用资源也不进行处理,而且白名单能涉及的进程有限,无法全部涵盖在内,一旦进程被粗暴的限制,会导致相关应用无法接收消息或推送的通知,进而导致用户感兴趣的推送信息也无法及时查看,使用户体验受到影响。
因此,如何提供一种电子设备功耗的降低方法、装置及具有显示屏的电子设备,以解决现有技术中在遭遇内存超负荷时,对于异常占用内存的应用进行强制清理的做法过于粗暴,受限,且影响用户体检等种种缺陷,实已成为本领域从业者亟待解决的技术问题
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种电子设备功耗的降低方法、系统及具有显示屏的电子设备,用于解决现有技术中在遭遇内存超负荷时,对于异常占用内存的应用进行强制清理的做法过于粗暴,受限,且影响用户体检的问题。
为实现上述目的及其他相关目的,本发明一方面提供一种电子设备功耗的降低方法,所述电子设备具有显示屏,所述电子设备功耗的降低方法包括以下步骤:在预设监听时间段内间隔预置判断周期检测所述电子设备各进程的CPU占用率,并于每次检测时,逐一判断所述各进程的CPU占用率是否超过预设占用阈值;若在所述预设监听时间段内,所述进程的CPU占用率超过所述预设占用阈值的次数达到预设次数,则判断所述进程是否为与所述电子设备的操作系统相关的进程;若不相关,则结束与所述电子设备的操作系统不相关的进程以释放所述进程所对应的资源;若相关,则对与所述电子设备的操作系统相关的进程通过相应保护策略加以保护。
于本发明的一实施例中,于所述电子设备功耗的降低方法的执行过程中还包括:实时判断所述预设监听时间段是否结束;若是,结束所述电子设备功耗的降低方法;若否,则返回在预设监听时间段内实时检测所述电子设备的中央处理器的当前占用率的步骤。
于本发明的一实施例中,所述判断所述进程是否为与所述电子设备的操作系统相关的进程的步骤包括:获取当前运行的进程的标记,根据当前运行的进程的标记判断当前运行的进程是否为与所述电子设备的操作系统相关的进程;获取当前运行的进程的所属包名,根据当前运行的进程的所属包名判断当前运行的进程是否为与所述电子设备的操作系统相关的进程;或对当前运行的进程按照进程优先级分类,根据进程优先级分类判断当前运行的进程是否为与所述电子设备的操作系统相关的进程。
于本发明的一实施例中,所述当前运行的进程按照进程优先级分类为前台进程、可见进程、服务进程、后台进程及空进程;所述后台进程和空进程为与所述电子设备的操作系统不相关的进程。
于本发明的一实施例中,于所述预设监听时间段内检测所述电子设备各进程的CPU占用率之前还包括:当所述电子设备的显示屏处于正常亮屏工作状态下时,监听与灭屏相关的广播信息;当监听到灭屏的广播消息后,执行所述在预设监听时间段内检测所述电子设备各进程的CPU占用率;于所述电子设备功耗的降低方法的执行过程中,当监听到亮屏的广播消息后,结束所述电子设备功耗的降低方法。
本发明另一方面还提供一种电子设备功耗的降低装置,所述电子设备具有显示屏,所述电子设备功耗的降低系统包括:检测模块,用于在预设监听时间段内间隔预置判断周期检测所述电子设备各进程的CPU占用率,并于每次检测时,逐一判断各进程的CPU占用率是否超过预设占用阈值;若在所述预设监听时间段内,与所述检测模块连接的第一判断模块判断到所述进程的CPU占用率超过所述预设占用阈值的次数达到预设次数,则调用用于判断所述进程是否为与所述电子设备的操作系统相关的进程的第二判断模块;若不相关,则调用用于结束与所述电子设备的操作系统不相关的进程以释放所述进程所对应的资源的处理模块;若相关,则调用用于对与所述电子设备的操作系统相关的进程通过相应保护策略加以保护的保护模块。
于本发明的一实施例中,所述电子设备功耗的降低装置还包括与所述处理模块连接的第三判断模块,所述第三判断模块用于实时判断所述预设监听时间段是否结束,若是,调用用于终止所述电子设备功耗的降低装置运行的终止模块;若否,则继续调用所述检测模块。
于本发明的一实施例中,所述第二判断模块还用于:获取当前运行的进程的标记,根据当前运行的进程的标记判断当前运行的进程是否为与所述电子设备的操作系统相关的进程;获取当前运行的进程的所属包名,根据当前运行的进程的所属包名判断当前运行的进程是否为与所述电子设备的操作系统相关的进程;或对当前运行的进程按照进程优先级分类,根据进程优先级分类判断前运行的进程是否为与所述电子设备的操作系统相关的进程。
于本发明的一实施例中,所述电子设备功耗的降低装置还包括:与所述检测模块和终止模块连接的监听模块,用于当所述电子设备的显示屏处于正常亮屏工作状态下时,监听与灭屏相关的广播信息;当所述监听模块监听到灭屏的广播消息后,调用所述检测模块执行所述在预设监听时间段内检测所述电子设备各进程的CPU占用率;当所述监听模块监听到亮屏的广播消息后,调用所述终止模块终止所述电子设备功耗的降低装置的运行。
本发明又一方面还提供一种具有显示屏的电子设备,所述具有显示屏的电子设备包括:电子设备功耗的降低装置。
如上所述,本发明的电子设备功耗的降低方法、装置及具有显示屏的电子设备,具有以下有益效果:
本发明所述的电子设备功耗的降低方法、系统及具有显示屏的电子设备可以在电子设备待机状态下自动检测电子设备的系统运行状况,若发现异常,自动对异常的进程进行处理,保证电子设备正常待机,保证续航时间,降低电子设备功耗,使用户体验不受到影响。
附图说明
图1显示为本发明的电子设备于一实施例中立体示意图。
图2显示为本发明的电子设备功耗的降低方法于一实施例中的流程示意图。
图3显示为本发明的电子设备功耗的降低方法于另一实施例中的流程示意图。
图4显示为本发明的电子设备功耗的降低装置于一实施例中的原理结构示意图。
图5显示为本发明的具有显示屏的电子设备于一实施例中的原理结构示意图。
元件标号说明
1电子设备
10显示屏
2电子设备功耗的降低装置
21监听模块
22检测模块
23第一判断模块
24统计模块
25第二判断模块
26保护模块
27处理模块
28第三判断模块
29终止模块
S1~S7步骤
S0.1~S9步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
实施例一
本实施例提供一种电子设备功耗的降低方法,所述电子设备具有显示屏,所述电子设备功耗的降低方法包括以下步骤:
在预设监听时间段内间隔预置判断周期检测所述电子设备各进程的CPU占用率,并于每次检测时,逐一判断所述各进程的CPU占用率是否超过预设占用阈值;
若在所述预设监听时间段内,所述进程的CPU占用率超过所述预设占用阈值的次数达到预设次数,则判断所述进程是否为与所述电子设备的操作系统相关的进程;
若不相关,则结束与所述电子设备的操作系统不相关的进程以释放所述进程所对应的资源;若相关,则对与所述电子设备的操作系统相关的进程通过相应保护策略加以保护。
以下将结合图示对本实施例所述的电子设备功耗的降低方法进行详细阐述。本实施例所述的电子设备于实际的实现方式中,为智能手机、平板电脑、笔记本电脑等具有显示屏的电子设备。请参阅图1,显示为电子设备于一实施例中立体示意图。如图1所示,所述电子设备1包括显示屏10,尤其本实施例中,所述显示屏10为触摸显示屏。其中,所述触摸显示屏10在设备与用户之间同时提供输出接口和输入接口。触摸显示屏控制器接收/发送来自/去往触摸显示屏10的电信号。该触摸显示屏10则向用户显示可视输出。这个可视输出可以包括文本、图形、视频及其任意组合。某些或所有可视输出可与用户接口对象相对应,在下文中将对它的更多细节进行描述。
触摸显示屏10还基于触觉和/或触知接触来接受用户的输入。该触摸显示屏10形成一个接受用户输入的触摸敏感表面。该触摸显示屏10和触摸显示屏控制器(连同存储器中任何相关联的模块和/或指令集一起)检测触摸显示屏10上的接触(以及所述触摸的任何移动或中断),并且将检测到的接触变换成与显示在触摸显示屏10上的诸如一个或多个软按键之类的用户界面对象的交互。在一个示例性实施例中,触摸显示屏10与用户之间的接触点对应于用户的一个或多个手指。该触摸显示屏10可以使用LCD(液晶显示器)技术或LPD(发光聚合物显示器)技术,但在其他实施例中可使用其他显示技术。触摸显示屏10和触摸显示屏控制器可以使用多种触敏技术中的任何一种来检测接触及其移动或中断,这些触敏技术包括但不限于电容、电阻、红外和声表面波技术,以及其他接近传感器阵列,或用于确定与触摸显示屏10相接触的一个或多个点的其他技术。用户可以使用任何适当物体或配件,例如指示笔、手指等等,来接触触摸显示屏10。
所述的接触/运动模块与触摸显示屏控制器一道来检测与触摸显示屏10的接触。该接触/运动模块包括用于执行与跟触摸显示屏10的接触检测相关联的各种操作的各种软件组件,所述操作例如确定是否发生接触,确定该接触是否移动,以及追踪触摸显示屏10上的移动,并且确定该接触是否中断(即是否停止接触)。确定接触点移动的操作可以包括确定接触点的速率(幅度)、速度(幅度和方向)和/或加速度(包括幅度和/或方向)。在某些实施例中,接触/运动模块和触摸显示屏控制器还检测触摸板上的接触。
在本实施例中,所述移动终端1例如为图1所呈现的智能手机为例进行说明。所述智能手机例如为安装Android操作系统或者iOS操作系统,或者PalmOS、Symbian(塞班)、或者BlackBerry(黑莓)OS6.0、WindowsPhone8等操作系统的智能手机。
请参阅图2,显示为电子设备功耗的降低方法于一实施例中的流程示意图。如图2所示,所述电子设备功耗的降低方法具体包括以下几个步骤:
S1,在预设监听时间段内间隔预置判断周期检测所述电子设备各进程的CPU占用率。在本实施例中,所述预设监听时间段预先设置为5分钟。且在所述预设监听时间段内设置时长为30秒的预置判断周期。S2,在所述预定监听时间段内每隔一预置判断周期,逐一判断所述进程的CPU占用率是否超过预设占用阈值。在本实施例中,各进程的预设占用阈值相同。当CPU占用率过高时,会出现死机现象,电子设备无法待机睡眠,出现发烫,电量消耗加速,待机续航时间大打折扣。若是,则执行步骤S3,若否,则返回步骤S2,继续逐一判断当前运行的进程的CPU占用率是否超过预设占用阈值。
S3,若所述进程的CPU占用率超过预设占用阈值时,在所述预设监听时间段内,继续判断每一所述进程的CPU占用率超过所述预设占用阈值的次数是否达到预设次数,若是,则执行步骤S4,若否,返回步骤S3,继续判断每一所述进程的CPU占用率超过所述预设占用阈值的次数是否达到预设次数。
在一种具体实施中,所述预设次数可以设定为与达到超过所述预设占用阈值的次数相关,例如超过所述预设占用阈值的次数的一半。例如,设定预定监听时间为5分钟,预置判断周期为30s,预设占用阈值为10%,因此,在所述预定监听时间的期间内,统计各个进程的CPU占用率总共需要10次。若相应进程的CPU占用率超过阈值的次数达5次,即使当时未完成10次的检测,也可判定该进程可能存在异常。
在一种具体实施中,可以对每个进程设定一个count值,用以记录超过所述预设占用阈值的次数。当进程的CPU占用率超过设定的预设占用阈值时,则count加1。S4,统计所述电子设备当前运行的进程。所述当前运行的进程包括与所述电子设备的操作系统相关的进程和与所述电子设备的操作系统不相关的进程。在本实施例中,与所述电子设备的操作系统不相关的进程包括用户进程和所述电子设备出厂自带的功能进程。
S5,判断当前运行的进程是否为与所述电子设备的操作系统相关的进程,若当前运行的进程为与所述电子设备的操作系统相关的进程相关,则执行步骤S6,若当前运行的进程不为与所述电子设备的操作系统相关的进程,则执行步骤S7。在本实施例中,所述步骤S5具体包括:
获取当前运行的进程的标记(flag),根据当前运行的进程的标记判断当前运行的进程是否为与所述电子设备的操作系统相关的进程。所述当前运存的进程标记分为系统标记和非系统标记。当所述当前运存的进程的标记为系统标记时,判断当前运行的进程为与所述电子设备的操作系统相关的进程;当所述当前运存的进程的标记为非系统标记为,判断当前运行的进程为与所述电子设备的操作系统不相关的进程,该进程可以关闭或直接杀死。
获取当前运行的进程的所属包名,根据当前运行的进程的所属包名判断当前运行的进程是否为与所述电子设备的操作系统相关的进程。所述当前运行的进程的所属包名分为系统报名和非系统包名。当所述当前运存的进程的所属包名为系统包名时,判断当前运行的进程为与所述电子设备的操作系统相关的进程;当所述当前运存的进程的所属包名为为非系统包名时,例如,所属包名为“app-”:,判断当前运行的进程为与所述电子设备的操作系统不相关的进程,该进程可以关闭或直接杀死。或
对当前运行的进程按照进程优先级分类,根据进程优先级分类判断当前运行的进程是否为与所述电子设备的操作系统相关的进程。在本实施例中,所述当前运行的进程按照进程优先级分类为前台进程、可见进程、服务进程、后台进程、及空进程;所述后台进程和空进程为与所述电子设备的操作系统不相关的进程。
S6,对与所述电子设备的操作系统相关的进程通过相应保护策略加以保护。
S7,结束与所述电子设备的操作系统不相关的进程以释放所述进程对应的资源。换句话说,也就是将与所述电子设备的操作系统不相关的进程直接杀死以释放内存。
本实施例所述的电子设备功耗的降低方法可以在电子设备待机状态下自动检测电子设备的系统运行状况,若发现异常,自动对异常的进程进行处理,保证电子设备正常待机,保证续航时间,降低电子设备功耗,使用户体验不受到影响。
实施例二
本实施例还提供另一种电子设备功耗的降低方法。请参阅图3,显示为电子设备功耗的降低方法于另一实施例中的流程示意图。如图3所示,与实施例一相比,本实施例所述的电子设备功耗的降低方法还包括如下步骤:
S0.1,在所述电子设备的显示屏在正常工作状态下,即可以正常输出图形用户界面的状态下,监听输出的广播消息是为与灭屏相关的广播信息还是为与亮屏相关的广播消息,所述与灭屏相关的广播信息在本实施例中表示为ACTION_SCREEN_OFF。
在本实施例中,当监听到与亮屏相关的广播信息时,所述与亮屏相关的广播信息在本实施例中表示为ACTION_SCREEN_ON,结束所述电子设备功耗的降低方法。
S0.2,监听到与灭屏相关的广播信息后,在预设监听时间段内间隔预置判断周期检测所述电子设备各进程的CPU占用率。在本实施例中,所述预设监听时间段预先设置为5分钟。且在所述预设监听时间段内设置时长为30秒的预置判断周期。
S8,判断所述预设监听时间段是否结束;若是,结束运行所述电子设备功耗的降低方法;若否,则返回步骤S1,继续在预设监听时间段内间隔预置判断周期检测所述电子设备各进程的CPU占用率。
通过本发明的实施例二,可以所述电子设备处于灭屏的待机状态下对其中存在异常占用资源的进程进行处理从而实现系统优化,进而实现能耗的降低。由于当电子设备处于待机状态时,各进程的CPU占用不会太大,而亮屏使用过程中当前正在使用的应用进程的CPU占用率会相对较大,情况相对复杂,因此相对于当电子设备处于亮屏,在电子设备处于灭屏的待机状态下执行所述电子设备功耗的降低方法,可以更准确地发现异常进程。
实施例三
本实施例提供一种电子设备功耗的降低装置,所述电子设备具有显示屏,其特征在于,所述电子设备功耗的降低装置包括:
检测模块,用于在预设监听时间段内间隔预置判断周期检测所述电子设备各进程的CPU占用率,并于每次检测时,逐一判断各进程的CPU占用率是否超过预设占用阈值;
若在所述预设监听时间段内,与所述检测模块连接的第一判断模块判断到所述进程的CPU占用率超过所述预设占用阈值的次数达到预设次数,则调用用于判断所述进程是否为与所述电子设备的操作系统相关的进程的第二判断模块;
若不相关,则调用用于结束与所述电子设备的操作系统不相关的进程以释放所述进程所对应的资源的处理模块;若相关,则调用用于对与所述电子设备的操作系统相关的进程通过相应保护策略加以保护的保护模块。
以下将结合图示对本实施例所述的电子设备功耗的降低系统进行详细阐述。请参阅图4,显示为电子设备功耗的降低系统于一实施例中的原理结构示意图。如图4所示,所述电子设备功耗的降低系统2具体包括:监听模块21、检测模块22、第一判断模块23、统计模块24、第二判断模块25、保护模块26、处理模块27、第三判断模块28及终止模块29。
所述监听模块21用于在所述电子设备的显示屏在正常工作状态下,即可以正常输出图形用户界面的状态下,监听输出的广播信息为与灭屏相关的广播信息还是为与亮屏相关的广播信息,所述与灭屏相关的广播信息在本实施例中表示为ACTION_SCREEN_OFF。在本实施例中,当所述监听模块21监听到与亮屏相关的广播信息时,当监听到的广播信息为与亮屏相关的广播信息时在本实施例中表示为ACTION_SCREEN_ON,调用用于结束所述电子设备功耗的降低系统的运行的终止模块29。
与所述监听模块21连接的检测模块22在所述监听模块21监听到与灭屏相关的广播信息后,在预设监听时间段内每隔一预置判断周期,逐一检测所述电子设备中当前运行的进程的CPU占用率。在本实施例中,所述预设监听时间段预先设置为5分钟。且在所述预设监听时间段内设置时长为30秒的预置判断周期。
所述检测模块22还用于在所述预定监听时间段内每隔一预置判断周期判断所述进程的CPU占用率是否超过预设占用阈值,在本实施例中,各个进程的预设占用阈值时相同的。当CPU占用率过高时,会出现死机现象,电子设备无法待机睡眠,出现发烫,电量消耗加速,待机续航时间大打折扣。若是,则调用所述第一判断模块23,若否,则检测模块22继续判断所述进程的CPU占用率是否超过预设占用阈值。
与所述检测模块22连接的所述第一判断模块23用于在所述进程的CPU占用率超过预设占用阈值时,在所述预设监听时间段内,判断每一所述进程的CPU占用率超过所述预设占用阈值的次数是否达到预设次数,若是,则调用所述统计模块24,若否,则所述第一判断模块23继续判断每一所述进程的CPU占用率超过所述预设占用阈值的次数是否达到预设次数。
所述统计模块24用于统计所述电子设备当前运行的进程。所述当前运行的进程包括与所述电子设备的操作系统相关的进程和与所述电子设备的操作系统不相关的进程。在本实施例中,与所述电子设备的操作系统不相关的进程包括用户进程和所述电子设备出厂自带的功能进程。
与所述统计模块24连接的第二判断模块25用于判断当前运行的进程是否为与所述电子设备的操作系统相关的进程,若是,则调用所述保护模块26,和,若否,则调用所述处理模块27。在本实施例中,所述第二判断模块25具体还用于:
获取当前运行的进程的标记(flag),根据当前运行的进程的标记判断当前运行的进程是否为与所述电子设备的操作系统相关的进程。所述当前运存的进程标记分为系统标记和非系统标记。当所述当前运存的进程的标记为系统标记时,判断当前运行的进程为与所述电子设备的操作系统相关的进程;当所述当前运存的进程的标记为非系统标记为,判断当前运行的进程为与所述电子设备的操作系统不相关的进程,该进程可以关闭或直接杀死。
获取当前运行的进程的所属包名,根据当前运行的进程的所属包名判断当前运行的进程是否为与所述电子设备的操作系统相关的进程。所述当前运行的进程的所属包名分为系统报名和非系统包名。当所述当前运存的进程的所属包名为系统包名时,判断当前运行的进程为与所述电子设备的操作系统相关的进程;当所述当前运存的进程的所属包名为为非系统包名时,例如,所属包名为“app-”:,判断当前运行的进程为与所述电子设备的操作系统不相关的进程,该进程可以关闭或直接杀死。或
对当前运行的进程按照进程优先级分类,根据进程优先级分类判断当前运行的进程是否为与所述电子设备的操作系统相关的进程。在本实施例中,所述当前运行的进程按照进程优先级分类为前台进程、可见进程、服务进程、后台进程、及空进程;所述后台进程和空进程为与所述电子设备的操作系统不相关的进程。。
所述保护模块26用于对与所述电子设备的操作系统相关的进程通过相应保护策略加以保护。在本实施例中,凡是对对与所述电子设备的操作系统相关的进程起保护作用的保护策略都可采用。
所述处理模块27用于结束与所述电子设备的操作系统不相关的进程以释放所述进程对应的资源。换句话说,也就是所述处理模块27将与所述电子设备的操作系统不相关的进程直接杀死以释放内存。
与所述保护模块26和处理模块27连接的第三判断模块28用于判断所述预设监听时间段是否结束;若是,调用用于终止所述电子设备功耗的降低装置运行的终止模块29。若否,则继续调用所述检测模块22继续在预设监听时间段内间隔预置判断周期检测所述电子设备各进程的CPU占用率。
本实施例还提供一种具有显示屏的电子设备1,请参阅图5,显示为具有显示屏的电子设备于一实施例中的原理结构示意图。如图5所示,所述具有显示屏的电子设备1包括实施例二中所描述的电子设备功耗的降低装置2,该电子设备功耗的降低装置2的所有功能可以通过处理器来实现,例如,MCU。
综上所述,本发明所述的电子设备功耗的降低方法、装置及具有显示屏的电子设备可以在电子设备待机状态下自动检测电子设备的系统运行状况,若发现异常,自动对异常的进程进行处理,保证电子设备正常待机,保证续航时间,降低电子设备功耗,使用户体验不受到影响。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。