一种降低终端待机功耗的方法及其系统与流程

文档序号:15443945发布日期:2018-09-14 23:08阅读:211来源:国知局

本发明涉及通信技术领域,尤其涉及一种降低终端待机功耗的方法及其系统。



背景技术:

目前,随着智能终端(如手机)功能的不断强大,终端可支持用户安装各式各样的应用程序(application,app),以丰富终端的功能。现有的安卓(android)系统是通过唤醒锁(wakelock)来实现电源管理的,系统在未检测到唤醒锁时会进入休眠状态,以降低终端的功耗。

正常情况下,当一个应用程序开始运行时,会申请一个唤醒锁,以保证在其运行期间系统不会进入休眠状态,而当其运行完毕后会及时释放唤醒锁,一般手机待机时,应用程序(application,app)、显示器(liquidcrystaldisplay,lcd)、wi-fi均进入休眠状态,以确保系统能及时进入休眠状态,从而达到降低功耗,节省电量的目的。

然而,实际情况中,市场上的很多应用程序编写的不够规范,或存在漏洞。某些应用程序经常会由于异常状况而无法及时释放唤醒锁,为了自身程序在后台的正常工作,而长时间阻止应用程序进入休眠状态,从而导致终端即使在灭屏状态下依然有较大的功耗,从而浪费终端的电量,缩短了终端的续航时间。

如公开号为cn107608724a的发明专利所公开的一种管理应用程序的方法、终端及计算机可读存储介质,其中方法包括:若检测到第一应用当前持有第一预设唤醒锁,则获取所述第一应用当前的运行状态信息;其中,所述第一预设唤醒锁用于控制处理器保持运行状态,且控制显示屏保持亮屏状态;若所述第一应用当前的运行状态信息对应运行于后台,则释放所述第一应用所持有的所述第一预设唤醒锁。

该发明是通过锁定应用,查找该应用持有的唤醒锁,然后通过排除法,把后台运行的第一应用、第二应用等一个一个逐个检查,直到停止某个应用后,待机电流下来了,然后再细查这个应用持有的唤醒锁,释放唤醒锁使终端能够进入正常的灭屏状态。这种通过排查应用查找唤醒锁的方案过于复杂,且此过程要耗费太长时间。

鉴于上述现有的释放唤醒锁,降低终端功耗的方案存在的缺陷,本发明人基于从事此类产品设计制造多年丰富的实务经验及专业知识,并配合学理的运用,积极加以研究创新,以期创设一种新的降低终端待机功耗的方法及其系统,能够改进一般现有的降低终端功耗的方案,使其更具有实用性。经过不断的研究、设计,并经反复试作样品及改进后,终于创设出确具实用价值的本发明。

因此,如何更快捷方便的查找到未释放的唤醒锁,并能自动结束相关应用的进程,使系统正常进入休眠模式,降低终端的功耗,延长终端的待机时间是本发明的目的所在。



技术实现要素:

针对现有技术存在的上述技术问题,本发明提供了一种降低终端待机功耗的方法及其系统,本发明通过将可能引起系统无法进入休眠模式的唤醒锁保存到系统存储中,并在终端的飞行模式下,检测系统存储中唤醒锁的状态,将处于开启状态唤醒锁对应的应用进程关闭,从而达到降低终端待机时的功耗,延长终端的待机时间的目的。

为达到上述技术目的,本发明采取如下技术方案:

一种降低终端待机功耗的方法,其包括:

s1、检测终端是否灭屏;

s2、若终端灭屏,经过预设时间,检测系统是否进入休眠模式;

s3、若系统未进入休眠模式,则检测系统存储中保存的唤醒锁的状态;

s4、若检测系统存储中具有开启的唤醒锁,则查找与开启的唤醒锁对应的应用,并调用强制终止命令结束所述应用的进程。

作为本发明的优选,所述步骤s3还包括:标记所述系统存储中唤醒锁的状态为开启状态或释放状态。

作为本发明的优选,所述步骤s3还包括:若系统处于休眠模式,则重复步骤s2。

作为本发明的优选,在步骤s4之后还包括:s5、终端再次亮屏后,发出所述应用能够引起系统无法进入休眠模式的提示。

作为本发明的优选,建立应用的黑名单,当终端灭屏时,自动调用强制终止命令结束所述黑名单中应用的进程。

一种降低终端待机功耗的系统,其包括:

检测模块,用于检测终端的屏幕是否熄灭,以及用于检测系统是否进入休眠模式;

判断模块,用于判断系统存储中保存的唤醒锁的状态;

搜索模块,用于查找与处于开启状态的唤醒锁对应的应用;

终止模块,用于调用强制终止命令结束所述应用的进程。

作为本发明的优选,包括:标记模块,用于标记所述系统存储中唤醒锁的状态为开启状态或释放状态。

作为本发明的优选,包括:提醒模块,用于发出所述应用能够引起系统无法进入休眠模式的提示。

作为本发明的优选,包括:黑名单模块,用于记录使系统无法进入休眠模式的应用,以及自动调用强制终止命令结束黑名单模块中应用的进程。

一种终端,用于执行降低终端待机功耗的方法。

本发明提供的技术方案可以包括以下有益效果:

1、本发明通过使终端进入飞行模式,并让使终端灭屏,使某些联网后不休眠的应用,能在飞行模式下进入到休眠状态。并且将可能引起系统无法进入休眠模式的唤醒锁,都保存在系统存储中,并记录唤醒锁的状态,如此设置能够快速查找到引起系统无法进入休眠模式的唤醒锁;

2、通过开启状态的唤醒锁(wakelock),查找到与唤醒锁(wakelock)对应的应用,关闭该应用的相关进程,使唤醒锁被释放,从而解决了终端待机时功耗高的问题,大大延长了终端的待机时长;

3、在查找到某个应用的唤醒锁(wakelock)不能自动释放后,待终端亮屏后,主动提示用户,该应用会引起终端的系统无法休眠而耗电,建议手动卸载或者关闭该应用。

附图说明

图1为本发明实施例1提供的一种降低终端待机功耗的方法示意流程图;

图2为本发明另一实施例提供的一种降低终端待机功耗的方法示意流程图;

图3为本发明实施例3提供的一种降低终端待机功耗的系统示意流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,这里所使用的“终端”、“移动终端”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。

实施例1

下面结合附图来详细说明本发明的技术方案。

本实施例一种降低终端待机功耗的方法,如图1所示,其具体流程可以包括如下步骤:

s1、检测终端是否灭屏;

首先开启终端的飞行模式,开启飞行模式用于让某些联网后不进入休眠状态的应用程序,能在飞行模式下停止运行,并进入到休眠状态。

但是某些被唤醒锁(wakelock)锁住的应用程序(application,app),终端即使进入到飞行模式,系统也不会进入到休眠模式。

进入飞行模式后,使终端的屏幕熄灭。

s2、若终端灭屏,经过预设时间,检测系统是否进入休眠模式;

检测到终端的屏幕熄灭后,由于某些应用从运行状态进入到休眠状态,此过程需要一段时间。为了精确检测到系统中仍在运行的唤醒锁(wakelock)信息,在进行本步骤之前,需预设时间t,经过时间t之后,开始检查系统是否进入休眠模式。

作为本方案的优选,将时间t设为三秒钟,即在程序上将t设为3000毫秒。

s3、若系统未进入休眠模式,则检测系统存储中保存的唤醒锁的状态;

所述系统进入休眠模式是指:计算机休眠是当计算机较长时间未操作时,计算机停止工作且关闭绝大部分部件的电源;

系统休眠时,系统将当前状态保存于硬盘中,然后退出系统,此时电源关闭,cpu、内存和硬盘都停止运行。

将可能引起系统无法进入休眠模式的唤醒锁都保存在系统存储中,并标记所述唤醒锁的状态为开启状态或释放状态。

如果检测到系统进入了休眠模式,则设定系统检测周期,再重复上述步骤s3,直到三次检测系统的过程中,系统都是处于休眠状态,则判定系统中不存在未释放的唤醒锁,且系统进入了休眠模式。

本实施例优选的系统检测周期为5分钟。

若检测到系统未进入休眠模式,则在系统存储中检测所有唤醒锁的状态。

s4、若检测系统存储中具有开启的唤醒锁,则查找与开启的唤醒锁对应的应用,并调用强制终止命令结束所述应用的进程。

若检测到具有处于开启状态的唤醒锁(wakelock);

根据该唤醒锁及其来源,查找到与来源对应的应用。

在实际应用中,当检测到系统中具有唤醒锁处于工作状态时,可以获取唤醒锁的相关信息,包括:唤醒锁的名称、唤醒锁对应的应用程序名称、唤醒锁的类型、被应用程序占用的持续时间等。

系统调用强制终止命令(kill)自动结束该应用的进程,使唤醒锁(wakelock)被释放。从而,系统正常进入休眠模式,终端的功耗降低。

综上所述,本实施例通过使终端进入飞行模式,让联网的应用能够结束进程,以及,将可能引起系统无法进入休眠模式的唤醒锁提前保存在系统存储中,当系统无法进入休眠状态时,直接在系统存储中检查具有开启状态的唤醒锁,如此能够精确而且快速地检测到处于工作状态的唤醒锁。

根据唤醒锁找到对应应用程序的进程,从而直接将该进程关闭;不仅可以对唤醒锁进行释放,还可以为终端系统或系统中的应用的功耗优化提供支持,减少无效持有唤醒锁,达到省电提高终端续航能力的目的。

实施例2

本发明实施例提供了一种降低终端待机功耗的方法,下面结合附图来详细说明本发明的技术方案。如图2所示,包括上述实施例的解决终端待机功耗高的方法,其具体流程还包括如下步骤:

s5、终端再次亮屏后,发出所述应用能够引起系统无法进入休眠模式的提示。

良好的诸如微信等常规应用程序(application,app)不会引起系统无法休眠,某些小众的应用程序或者开发人员开发还不完善的应用程序,用户安装后,可能会因为开发的不够完善,有较大漏洞导致系统无法休眠。

通过本申请实施例1终端在灭屏过程中,查找到由于唤醒锁的控制不能主动结束进程的应用。

当终端亮屏后,根据查找到的应用,系统主动向用户发出提示,该应用具有的唤醒锁会使系统无法进入休眠模式,增加终端的功耗。

同时,本申请建立应用的黑名单,将导致系统无法进入休眠模式,或无法主动结束进程、或具有不能主动释放唤醒锁的应用,加入到该黑名单中。

当终端的屏幕熄灭、或系统即将进入休眠模式时,系统调用强制终止命令(kill)自动结束黑名单中所有应用的进程,使系统能够不受一些应用唤醒锁(wakelock)的限制,正常进入到休眠模式。

综上所述,本申请提供的一种降低终端待机功耗的方法,在查找到某个应用的唤醒锁不能自动释放,待终端亮屏后,主动提示用户,该应用程序会引起终端的系统无法休眠而耗电。

并建议用户,手动卸载或者关闭该应用,若不卸载可以将应用加入所述黑名单,系统可以自动调用强制终止命令结束该应用程序的进程。本实施例不仅可以对唤醒锁进行释放,还可以对持有唤醒锁的应用进行统一管理,系统自动结束被唤醒锁锁住的应用,,减少无效持有唤醒锁,达到省电提高终端续航能力的目的。

实施例3

如图3所示,本实施例提供了一种降低终端待机功耗的系统,包括检测模块100,判断模块200,搜索模块300,终止模块400,提醒模块500,黑名单模块600,标记模块700具体的操作过程如下所示:

检测模块,检测终端的屏幕是否熄灭,以及用于检测系统是否进入休眠模式;

使终端进入飞行模式,便于让联网的应用停止运行,待终端的屏幕熄灭后,检测系统是否处于休眠模式。

判断模块,用于判断系统存储中保存的唤醒锁的状态;

预先在系统存储中保存可能引起系统无法进入休眠模式的唤醒锁,并通过标记模块,标记唤醒锁的状态为开启状态或释放状态。

搜索模块,用于查找与处于开启状态的唤醒锁对应的应用;

根据唤醒锁以及唤醒锁的来源查找相应的应用程序。

终止模块,用于调用强制终止命令结束所述应用的进程。

举例来说:

首先将唤醒锁都保存在系统存储中;

标记模块700用于标记系统存储中唤醒锁为开启状态或释放状态;本方案优选将开启状态的唤醒锁设置为1,释放状态的唤醒锁设置为0。

检测模块100开启终端的飞行模式功能,并使终端锁屏,终端的屏幕熄灭;

为了应用程序都能够结束进程,经过3000毫秒后,检测模块100检测终端是否进入休眠状态。

作为本发明的优选方案,可检测终端中的电流强度,若电流仍然过强,则说明终端未进入休眠状态,本领域技术人员应当了解,本发明不限定此种检测方案。

若终端未正常进入休眠状态,判断模块200在系统存储中查找是否具有处于为1的唤醒锁;

通过搜索模块300,将所有为1的唤醒锁整合出来,并根据唤醒锁查找其来源以及对应的应用,终止模块400调用强制终止命令结束所述应用的进程,使唤醒锁被释放,系统中的应用都能够完全停止运行,终端进入休眠模式。

当用户再次启用终端,打开终端的屏幕;

提醒模块500在终端的屏幕上显示会引起系统无法进入休眠模式而耗电的应用;

若将该应用加入到黑名单模块600,则在终端灭屏、或系统准备进入休眠模式时,则强制终止命令(kill)自动将黑名单模块600中应用的进程结束,使系统能够进入休眠模式,降低终端的功耗。

综上所述,使终端进入飞行模式,能够精确检测到处于工作状态的唤醒锁,根据唤醒锁找到对应应用程序的进程,从而直接将该进程关闭;并通过将应用加入黑名单模块,自动结束应用的进程,不仅可以对唤醒锁进行释放,还可以为终端系统或系统中的应用的功耗优化提供支持,减少无效持有唤醒锁,使系统正常进入休眠模式,降低终端的功耗的目的。

实施例4

本实施例提供了一种终端,所述终端用于执行实施例1与实施例2所述的降低终端待机功耗的方法,本实施例包括实施例1与实施例2的中的所有内容。

综上所述,本发明通过使终端进入飞行模式,并让使终端灭屏,使某些联网后不休眠的应用,能在飞行模式下进入到休眠状态。并且将可能引起系统无法进入休眠模式的唤醒锁,都保存在系统存储中,并记录唤醒锁的状态,如此设置能够精确快速地查找到引起系统无法进入休眠模式的唤醒锁;

通过开启状态的唤醒锁(wakelock),查找到与唤醒锁(wakelock)对应的应用,关闭该应用的相关进程,使唤醒锁被释放,从而解决了终端待机时功耗高的问题,大大延长了终端的待机时长;

在查找到某个应用的唤醒锁(wakelock)不能自动释放后,待终端亮屏后,主动提示用户,该应用会引起终端的系统无法休眠而耗电,建议手动卸载或者关闭该应用。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1