本发明涉及移动通讯技术领域,具体涉及一种电源管理方法及系统。
背景技术:
智能手机通常耗电较快,使智能手机在不需要使用时尽快进入睡眠状态是主要的省电方法之一。
但是现在的智能手机经常会安装许多第三方应用程序(APP),这些第三方APP为了维持自身数据的刷新或是出于其他不友好的目的,经常频繁设置各种定时器,定时唤醒手机,使得安卓系统的耗电程度呈几何级数倍增。巨大耗电量中的最大元凶,就是第三方App频频调用唤醒锁(Wakelock)。
一旦申请到了Wakelock,根据申请到的不同类型的Wakelock,都会影响智能手机及时进入到低功耗状态。影响包括屏幕保持亮屏状态,或者CPU一直保持在运行状态等。从而导致智能手机整体续航能力变差,严重影响用户体验。
技术实现要素:
鉴于以上内容,有必要提出一种电源管理方法及系统,能够阻止非系统资源或不在预先设置的白名单上的资源长时间调用持有Wakelock,从而使移动终端能够及时进入睡眠状态,减少能量的损耗,达到节省电量的目的。
一种电源管理方法,应用于移动终端中,所述方法包括:
在接收到资源对唤醒锁的调用申请时为所述资源分配一个唤醒锁;
判断所述唤醒锁所对应的资源是否为系统资源;
当确定所述唤醒锁所对应的资源为非系统资源时判断所述资源是否在预先设置的白名单上;及
当确定所述资源不在预先设置的白名单上时,将所述唤醒锁转换为超时指定的唤醒锁,并在指定时间到达时强制释放所述唤醒锁。
根据本发明的一个优选实施例,所述资源包括安装在所述移动终端中的第三方应用软件,系统软件或者所述移动终端所提供的相关服务。
根据本发明的一个优选实施例,所述方法还包括:
当确定所述唤醒锁所对应的资源为系统资源时;或者
当确定所述唤醒锁所对应的资源为非系统资源但所述资源在所述预先设置的白名单上时;
保持所述资源继续占用所述唤醒锁。
根据本发明的一个优选实施例,所述方法还包括:
设置超时定时器,所述超时定时器用以记录所述资源申请的唤醒锁开始工作的时间点并统计所述唤醒锁的工作时长;及
当所述超时定时器定时未满且所述资源主动释放所述唤醒锁时,清除所述超时定时器;或者
当所述超时定时器定时满时,强制释放所述唤醒锁。
根据本发明的一个优选实施例,所述方法还包括:
提供显示界面,用以方便用户查看资源调用锁唤醒锁的频率,针对调用唤醒锁频率最高的资源做出优化,其中,所述优化包括:
将调用唤醒锁频率最高的资源放置到自动杀进程的列表中;或者暂停调用唤醒锁频率最高的资源;或者在调用唤醒锁频率最高的资源进入后台超过预设时间段后自动将所述资源调整到休眠状态。
一种电源管理系统,运行于移动终端中,所述系统包括:
分配模块,用于在接收到资源对唤醒锁的调用申请时为所述资源分配一个唤醒锁;
第一判断模块,用于判断所述唤醒锁所对应的资源是否为系统资源;
第二判断模块,用于当所述第一判断模块确定所述唤醒锁所对应的资源为非系统资源时判断所述资源是否在预先设置的白名单上;及
强制释放模块,用于当所述第二判断模块确定所述资源不在预先设置的白名单上时,将所述唤醒锁转换为超时指定的唤醒锁,并在指定时间到达时强制释放所述唤醒锁。
根据本发明的一个优选实施例,所述资源包括安装在所述移动终端中的第三方应用软件,系统软件或者所述移动终端所提供的相关服务。
根据本发明的一个优选实施例,所述系统还包括保留模块,用于:
当所述第一判断模块确定所述唤醒锁所对应的资源为系统资源时;或者
当所述第一判断模块确定所述唤醒锁所对应的资源为非系统资源但所述第二判断模块确定所述资源在所述预先设置的白名单上时;
保持所述资源继续占用所述唤醒锁。
根据本发明的一个优选实施例,所述强制释放模块,还用于:
设置超时定时器,所述超时定时器用以记录所述资源申请的唤醒锁开始工作的时间点并统计所述唤醒锁的工作时长;及
当所述超时定时器定时未满且所述资源主动释放所述唤醒锁时,清除所述超时定时器;或者
当所述超时定时器定时满时,强制释放所述唤醒锁。
根据本发明的一个优选实施例,所述系统还包括:
显示模块,用于提供显示界面以方便用户查看资源调用唤醒锁的频率,针对调用唤醒锁频率最高的资源做出优化,其中,所述优化包括:
将调用唤醒锁频率最高的资源放置到自动杀进程的列表中;或者暂停调用唤醒锁频率最高的资源;或者在调用唤醒锁频率最高的资源进入后台超过预设时间段后自动将所述资源调整到休眠状态。
相较于现有技术,使用本发明所述电源管理方法及系统,可对运行唤醒锁的应用程序或者服务进行判断,尤其是恶意第三方APP设置的唤醒锁运行时长进行判断,当检测到这些程序申请的唤醒锁运行的实际超出预定时长时,自动释放Wakelock,从而使移动终端能够及时进入睡眠状态,减少能量的损耗,达到节省电量的目的。
附图说明
图1所示是本发明电源管理方法较佳实施例的方法流程图。
图2所示是实现本发明所述电源管理方法的移动终端的硬件结构示意图。
图3所示是本发明电源管理系统较佳实施例的功能模块图。
主要元件符号说明
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图和具体实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。此外,应当理解,本文所描述的具体实施例,仅用以解释本发明,并不用于限定本发明。
基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1所示,是本发明电源管理方法较佳实施例的方法流程图。所述较佳实施例中的方法由移动终端所执行。在本实施例中,所述移动终端可以是,例如,智能手机,平板电脑,笔记本电脑,穿戴式设备以及其他任何具有电源管理单元的移动终端。
根据不同的需求,图1所示流程图中的执行顺序可以改变,某些可以省略。
S11,所述移动终端在接收到资源对唤醒锁的调用申请时为所述资源分配一个唤醒锁。
在一些实施例中,所述移动终端的系统可以是安卓(Android)系统,安装在Android系统中的应用或服务在申请CPU资源的时候会占据一个唤醒锁(Wakelock)。
Wakelock作为安卓系统中电源管理机制中的一种,为了确保应用程序中关键代码的正确执行,应用程序需要向电源管理框架申请Wakelock,以阻止系统进入休眠状态。直到所有的Wakelock被释放后,系统才会进入休眠状态。即,只要有处于活动状态的唤醒锁,Android系统就无法进入休眠。
电源管理服务(Power Manager Service,PMS)在检测到有Wakelock被占据时,会通过内核接口以及Android系统的其他服务控制内核保持CPU、屏幕等资源处于活动状态。一旦系统中没有任何活动的Wakelock时,就会允许系统进入自动待机流程。
在一些实施例中,所述资源包括安装在Android系统中的第三方应用软件,系统软件或者系统所提供的相关服务,所述资源是通过预设函数,例如acquire()函数,向所述PMS申请的。
S12,所述移动终端判断所述唤醒锁所对应的资源是否为系统资源。
在一些实施例中,所述移动终端的资源分为系统资源和非系统资源。其中,所述系统资源是指控制和协调所述移动终端及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合。所述非系统资源包括安装在所述系统中的第三方应用软件(application software),是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合。
在一些实施例中,安卓系统的每个进程都对应Linux的UID(user identity),所述移动终端根据所述UID来确定所述资源为系统资源。在其他一些实施例中,所述移动终端还可以通过查询唤醒锁所对应的资源的发布者来判断所述资源是否为系统资源。对于第三方APP,也可以通过包名(package name)来确认。
在一些实施例中,当所述移动终端确定所述资源为非系统资源时,执行步骤S13;当所述移动终端确定所述资源为系统资源时,执行步骤S15。
S13,所述移动终端判断所述资源是否在预先设置的白名单上。
在一些实施例中,所述移动终端预先设置白名单,所述白名单上可以记录不需要被强制释放唤醒锁的资源的名称。
在所述白名单上记录不需要被强制释放唤醒锁的资源的名称,主要是考虑一些系统级别的应用软件,如下载类应用软件、音乐应用,还是需要长时间持有Wakelock来保证自身功能,所以添加这些资源到所述白名单中可以用以来保证不适合进行强制释放唤醒锁的资源申请的Wakelock不会被强制释放。
在一些实施例中,所述白名单可由所述移动终端默认设置,此外,所述白名单还可提供用户选项,供用户根据实际需要自行添加、删除或者更改。
在一些实施例中,所述移动终端可以通过模糊匹配的方法确定唤醒锁所对应的资源是否在预先设置的白名单上。
在一些实施例中,当所述移动终端确定所述资源不在所述预先设置的白名单上时,执行步骤S14;当所述移动终端确定所述资源在所述预先设置的白名单上时,执行步骤S15。
S14,所述移动终端将所述唤醒锁转换为超时指定的唤醒锁,并在指定时间到达时强制释放所述唤醒锁。
在一些实施例中,所述移动终端确定所申请唤醒锁的资源为非系统资源且所述资源不在所述白名单中时,则将所述唤醒锁转换为超时指定的唤醒锁。
所述超时指定的唤醒锁是指为所述唤醒锁指定了工作时长,在工作时长到达时,所述唤醒锁被自动释放,从而资源不再持有唤醒锁。
在一些实施例中,所述移动终端中还设置有超时定时器,所述超时定时器用以记录所述资源申请的唤醒锁开始工作的时间点并统计所述唤醒锁的工作时长,在所述唤醒锁的工作时长超过预设的指定时长时强制释放所述唤醒锁。
具体而言,在所述超时定时器定时未满时,所述资源主动释放所述唤醒锁,则清除所述超时定时器;而当所述超时定时器定时满时,强制释放所述唤醒锁。
在一些实施例中,所述移动终端通过调用release()函数主动释放Wakelock,一旦系统中的唤醒锁被全部释放,即没有处于活动状态的唤醒锁时,所述移动终端即可进入待机状态,处于低功耗。
在一些实施例中,所述移动终端强制释放Wakelock后,清除所述超时定时器。
S15,所述移动终端保持所述资源继续占用所述唤醒锁。
在一些实施例中,所述移动终端确定所申请唤醒锁的资源为系统资源,或者所述资源为非系统资源但所述资源在所述白名单中时,继续保持唤醒锁的运行状态不变。
进一步地,所述方法还可以包括:提供显示界面,用以方便用户能够查看资源调用Wakelock的频率。
用户找到频频调用Wakelock的资源后,即可针对性地作出优化。针对调用Wakelock频率最高的资源所可以做出的优化包括:将调用Wakelock频率最高的资源放置到自动杀进程的列表中,不许这些资源常驻后台;或者暂停调用Wakelock频率最高的资源从而达到节省电量的目的;或者在调用Wakelock频率最高的资源进入后台超过预设时间段后自动将所述资源调整到休眠状态。
综上所述,本发明所述的电源管理方法,在接收到资源对唤醒锁的调用申请时为所述资源分配一个唤醒锁,判断唤醒锁所对应的资源是否为系统资源,当确定所述资源为非系统资源时,进一步判断所述资源是否在预先设置的白名单上,当所述移动终端确定所述资源不在所述白名单上时,将所述唤醒锁转换为超时指定的唤醒锁,并在指定时间到达时强制释放所述唤醒锁;所述移动终端确定所申请唤醒锁的资源为系统资源,或者所述资源为非系统资源但所述资源在所述白名单中时,继续保持唤醒锁的运行状态不变。因此,所述的电源管理方法能够实现将非系统资源所申请的唤醒锁进行强制释放Wakelock,避免唤醒锁长时间处于活动状态,使得所述系统无法进入待机状态,加强了对系统的电源管理,达到了节省电量的目的。
以上所述,仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
上述图1详细介绍了本发明的电源管理方法,下面结合第2~3图,分别对实现上述电源管理方法的移动终端的硬件结构及功能模块进行介绍。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
如图2所示,是实现本发明所述电源管理方法的移动终端的硬件结构示意图。
在本发明较佳实施例中,所述移动终端1包括存储器11、至少一个处理器12、至少一个通信总线13、接收器14、发送器15及电源组件16。应该了解,所述移动终端1也可以包括其他硬件或者软件部件,而并不限制于上述列举的部件。
在一些实施例中,所述移动终端1包括一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的移动终端,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器、嵌入式设备等。所述移动终端1还可包括用户设备。所述用户设备包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、智能式穿戴设备等。
需要说明的是,所述移动终端1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
在一些实施例中,所述存储器11用于存储程序代码和各种数据,例如所述电源管理系统10,并在移动终端1运行过程中实现高速、自动地完成程序或数据的存取。所述存储器11可以是所述移动终端1的内部存储单元,例如所述移动终端1的硬盘或者内存。所述存储器11也可以是所述移动终端1的外部存储单元,例如所述移动终端1上的插接式硬盘、智能媒体卡(Smart Media Card,SMC)、安全数字卡(Secure Digital Card,SD)、快闪存储器卡(flash card)等储存单元。进一步地,所述存储器11还可以既包括所述移动终端1的内部存储单元,也可以包括外部存储单元。
在本实施例中,所述存储器11预先存储有白名单,所述白名单上记录了不需要被强制释放唤醒锁的资源的名称,主要是系统级别的应用软件,如下载类应用软件、音乐应用,需要长时间持有Wakelock来保证自身的功能。
在一些实施例中,所述处理器12是一个或者多个中央处理器(Central Processing unit,CPU)、微处理器或其他数字处理芯片等,是移动终端1的运算核心(Core)和控制核心(Control Unit)。所述处理器12用于解释程序指令以及处理软件中的数据,例如执行电源管理系统10。
在一些实施例中,所述通信总线13被设置为实现所述存储器11、所述处理器12、所述接收器14、所述发送器15以及电源组件16等之间的连接通信。
在一些实施例中,所述接收器14和所述发送器15可以是有线发送端口,也可以为无线设备,例如包括天线装置,用于与其他设备进行数据通信。
在一些实施例中,所述电源组件16用于为所述移动终端1中所有组件提供所需要的电能。所述电源组件16可以包括电源管理系统,一个或多个电源,及其他与为所述移动终端1生成、管理和分配电力相关联的组件。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
参阅图3所示,是本发明电源管理系统10电源管理较佳实施例中的功能模块图。
在一些实施例中,所述电源管理系统10运行于所述移动终端1中。所述电源管理系统10可以包括多个由程序代码段所组成的功能模块(详见图3)。所述电源管理系统10中的各个程序段的程序代码可以存储于所述存储器11中,并由所述处理器12所执行,以执行(详见图1中描述)。
本实施例中,所述电源管理系统10根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:分配模块101、第一判断模块102、第二判断模块103、强制释放模块104、保留模块105及显示模块106。本发明所称的模块是指一种能够被处理器12所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器11中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
所述分配模块101,用于在接收到资源对唤醒锁的调用申请时为所述资源分配一个唤醒锁。
在一些实施例中,所述移动终端1的系统可以是安卓(Android)系统,安装在Android系统中的应用或服务在申请CPU资源的时候会占据一个唤醒锁(Wakelock)。
Wakelock作为安卓系统中电源管理机制中的一种,为了确保应用程序中关键代码的正确执行,应用程序需要向电源管理框架申请Wakelock,以阻止系统进入休眠状态。直到所有的Wakelock被释放后,系统才会进入休眠状态。即,只要有处于活动状态的唤醒锁,Android系统就无法进入休眠。
电源管理服务(Power Manager Service,PMS)在检测到有Wakelock被占据时,会通过内核接口以及Android系统的其他服务控制内核保持CPU、屏幕等资源处于活动状态。一旦系统中没有任何活动的Wakelock时,就会允许系统进入自动待机流程。
在一些实施例中,所述资源包括安装在Android系统中的第三方应用软件,系统软件或者系统所提供的相关服务,所述资源是通过预设函数,例如acquire()函数,向所述PMS申请的。
所述第一判断模块102,用于判断所述唤醒锁所对应的资源是否为系统资源。
在一些实施例中,所述移动终端1的资源分为系统资源和非系统资源。其中,所述系统资源是指控制和协调所述移动终端1及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合。所述非系统资源包括安装在所述系统中的第三方应用软件(application software),是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合。
在一些实施例中,安卓系统的每个进程都对应Linux的UID(user identity),所述第一判断模块102根据所述UID来确定所述资源为系统资源。在其他一些实施例中,所述第一判断模块102还可以通过查询唤醒锁所对应的资源的发布者来判断所述资源是否为系统资源。对于第三方APP,所述第一判断模块102也可以通过包名(package name)来确认。
在一些实施例中,当所述第一判断模块102确定所述资源为非系统资源时,执行所述第二判断模块103;当所述第一判断模块102确定所述资源为系统资源时,执行所述保留模块105。
所述第二判断模块103,用于判断所述资源是否在预先设置的白名单上。
在一些实施例中,所述移动终端1预先设置白名单,所述白名单上可以记录不需要被强制释放唤醒锁的资源的名称。
在所述白名单上记录不需要被强制释放唤醒锁的资源的名称,主要是考虑一些系统级别的应用软件,如下载类应用软件、音乐应用,还是需要长时间持有Wakelock来保证自身功能,所以添加这些资源到所述白名单中可以用以来保证不适合进行强制释放唤醒锁的资源申请的Wakelock不会被强制释放。
在一些实施例中,所述白名单可由所述移动终端1默认设置,此外,所述白名单还可提供用户选项,供用户根据实际需要自行添加、删除或者更改。
在一些实施例中,所述第二判断模块103可以通过模糊匹配的方法确定唤醒锁所对应的资源是否在预先设置的白名单上。
在一些实施例中,当所述第二判断模块103确定所述资源不在所述预先设置的白名单上时,执行所述强制释放模块104;当所述第二判断模块103确定所述资源在所述预先设置的白名单上时,执行所述保留模块105。
所述强制释放模块104,用于将所述唤醒锁转换为超时指定的唤醒锁,并在指定时间到达时强制释放所述唤醒锁。
在一些实施例中,所述第一判断模块102确定所申请唤醒锁的资源为非系统资源且所述第二判断模块103确定所述资源不在所述白名单中时,则所述强制释放模块104将所述唤醒锁转换为超时指定的唤醒锁。
所述超时指定的唤醒锁是指为所述唤醒锁指定了工作时长,在工作时长到达时,所述唤醒锁被自动释放,从而资源不再持有唤醒锁。
在一些实施例中,强制释放模块104还设置有超时定时器,所述超时定时器用以记录所述资源申请的唤醒锁开始工作的时间点并统计所述唤醒锁的工作时长,在所述唤醒锁的工作时长超过预设的指定时长时强制释放所述唤醒锁。
具体而言,在所述超时定时器定时未满时,所述资源主动释放所述唤醒锁,则所述强制释放模块104清除所述超时定时器;而当所述超时定时器定时满时,所述强制释放模块104强制释放所述唤醒锁。
在一些实施例中,所述强制释放模块104通过调用release()函数主动释放Wakelock,一旦系统中的唤醒锁被全部释放,即没有处于活动状态的唤醒锁时,所述移动终端1即可进入待机状态,处于低功耗。
在一些实施例中,所述强制释放模块104强制释放Wakelock后,清除所述超时定时器。
所述保留模块105,用于保持所述资源继续占用所述唤醒锁。
在一些实施例中,所述第一判断模块102确定所申请唤醒锁的资源为系统资源,或者第一判断模块102确定所述资源为非系统资源但所述第二判断模块103确定所述资源在所述白名单中时,所述保留模块105继续保持唤醒锁的运行状态不变。
进一步地,所述电源管理系统10还可以包括显示模块106用于:提供显示界面,用以方便用户能够查看资源调用Wakelock的频率。
用户找到频频调用Wakelock的资源后,即可针对性地作出优化。针对调用Wakelock频率最高的资源所可以做出的优化包括:将调用Wakelock频率最高的资源放置到自动杀进程的列表中,不许这些资源常驻后台;或者暂停调用Wakelock频率最高的资源从而达到节省电量的目的;或者在调用Wakelock频率最高的资源进入后台超过预设时间段后自动将所述资源调整到休眠状态。
综上所述,本发明所述的电源管理系统10,所述分配模块101在接收到资源对唤醒锁的调用申请时为所述资源分配一个唤醒锁,所述第一判断模块102判断唤醒锁所对应的资源是否为系统资源,当所述第一判断模块102确定所述资源为非系统资源时,所述第二判断模块103进一步判断所述资源是否在预先设置的白名单上,当所述第二判断模块103确定所述资源不在所述白名单上时,所述强制释放模块104将所述唤醒锁转换为超时指定的唤醒锁,并在指定时间到达时强制释放所述唤醒锁;所述第一判断模块102确定所申请唤醒锁的资源为系统资源,或者所述第一判断模块102确定所述资源为非系统资源但所述第二判断模块103确定所述资源在所述白名单中时,所述保留模块105继续保持唤醒锁的运行状态不变。因此,所述的电源管理系统能够实现将非系统资源所申请的唤醒锁进行强制释放Wakelock,避免唤醒锁长时间处于活动状态,使得所述系统无法进入待机状态,加强了对系统的电源管理,达到了节省电量的目的。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
在进一步的实施例中,结合图2,所述至少一个处理器12可执行所述移动终端1的操作系统以及安装的各类应用程序(如所述的电源管理系统10)、程序代码等,例如,上述的各个模块,包括所述:分配模块101、第一判断模块102、第二判断模块103、强制释放模块104、保留模块105及显示模块106。
所述存储器11中存储有程序代码,且所述至少一个处理器12可调用所述存储器11中存储的程序代码以执行相关的功能。例如,图3中所述的各个模块(例如,分配模块101、第一判断模块102、第二判断模块103、强制释放模块104、保留模块105及显示模块106等)是存储在所述存储器11中的程序代码,并由所述至少一个处理器12所执行,从而实现所述各个模块的功能以达到节省电量的目的。
在本发明的一个实施例中,所述存储器11存储多个指令,所述多个指令被所述至少一个处理器12所执行以实现电源的优化管理。具体而言,所述至少一个处理器12对所述多个指令的执行包括:
在接收到资源对唤醒锁的调用申请时为所述资源分配一个唤醒锁;
判断所述唤醒锁所对应的资源是否为系统资源;
当确定所述唤醒锁所对应的资源为非系统资源时判断所述资源是否在预先设置的白名单上;及
当确定所述资源不在预先设置的白名单上时,将所述唤醒锁转换为超时指定的唤醒锁,并在指定时间到达时强制释放所述唤醒锁。
在一个优选实施例中,所述资源包括安装在所述移动终端中的第三方应用软件,系统软件或者所述移动终端所提供的相关服务。
在一个优选实施例中,所述至少一个处理器12进一步执行以下指令:
当确定所述唤醒锁所对应的资源为系统资源时;或者
当确定所述唤醒锁所对应的资源为非系统资源但所述资源在所述预先设置的白名单上时;
保持所述资源继续占用所述唤醒锁。
在一个优选实施例中,所述至少一个处理器12进一步执行以下指令:
设置超时定时器,所述超时定时器用以记录所述资源申请的唤醒锁开始工作的时间点并统计所述唤醒锁的工作时长;及
当所述资源主动释放所述唤醒锁且所述超时定时器定时未满时,清除所述超时定时器;或者
当所述超时定时器定时满时,强制释放所述唤醒锁。
在一个优选实施例中,所述至少一个处理器12进一步执行以下指令:
提供显示界面,用以方便用户查看资源调用唤醒锁的频率,针对调用唤醒锁频率最高的资源做出优化,其中,所述优化包括:
将调用唤醒锁频率最高的资源放置到自动杀进程的列表中;或者暂停调用唤醒锁频率最高的资源;或者在调用唤醒锁频率最高的资源进入后台超过预设时间段后自动将所述资源调整到休眠状态。
具体地,所述至少一个处理器12对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。