CN111352660A - 持有唤醒锁应用的识别方法与装置 - Google Patents
持有唤醒锁应用的识别方法与装置 Download PDFInfo
- Publication number
- CN111352660A CN111352660A CN201811564500.2A CN201811564500A CN111352660A CN 111352660 A CN111352660 A CN 111352660A CN 201811564500 A CN201811564500 A CN 201811564500A CN 111352660 A CN111352660 A CN 111352660A
- Authority
- CN
- China
- Prior art keywords
- lock
- wake
- awakening
- holding information
- locks
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
Abstract
本申请实施例公开了一种持有唤醒锁应用的识别方法与装置,所述方法包括:在终端设备进入待休眠状态时,获取所述终端设备中所有应用持有的唤醒锁的数量;若所述唤醒锁的数量大于或等于1,则记录各唤醒锁的持锁信息,并根据记录的各所述唤醒锁的持锁信息,确定持有各所述唤醒锁的应用,其中,每个唤醒锁的持锁信息包括持有该唤醒锁的应用的标识信息,进而准确、快速地识别出终端设备持有wake lock的应用。
Description
技术领域
本申请实施例涉及唤醒锁技术领域,尤其涉及一种持有唤醒锁应用的识别方法与装置。
背景技术
Android(安卓)系统在手机屏幕锁定之后一般会让手机休眠,以提高电池的使用时间。但是休眠意味着CPU使用频率降低,有时候可能需要做一些需要大量运算的任务,所以需要唤醒CPU。Wake Lock(唤醒锁)可以做到这一点。
在实际使用时,要求CPU保持唤醒状态的应用有很多,不能为每个应用都来持一个锁,所以电源管理系统,把一些阻止CPU休眠的应用锁归结成一个统一Wake Lock锁,通知CPU不要休眠。Wake Lock锁是多个应用锁综合作用的结果,当问题发生时,很难确定到底是哪个应用在持锁。
发明内容
本申请实施例提供一种持有唤醒锁应用的识别方法与装置。
第一方面,本申请实施例提供一种持有唤醒锁应用的识别方法,包括:
在终端设备进入待休眠状态时,获取所述终端设备中所有应用持有的唤醒锁的数量;
若所述唤醒锁的数量大于或等于1,则记录各唤醒锁的持锁信息,并根据记录的各所述唤醒锁的持锁信息,确定持有各所述唤醒锁的应用,其中,每个唤醒锁的持锁信息包括持有该唤醒锁的应用的标识信息。
在第一方面的一种可能的实现方式中,所述持锁信息还包括所述唤醒锁的类型;所述记录各唤醒锁的持锁信息之后,所述方法还包括:
更新所记录的各唤醒锁的持锁信息;
根据更新后的持锁信息中各唤醒锁的类型,记录所有唤醒锁中阻止CPU休眠的唤醒锁的持锁信息。
在第一方面的另一种可能的实现方式中,所述根据更新后的持锁信息中各唤醒锁的类型,记录所有唤醒锁中阻止CPU休眠的唤醒锁的持锁信息之前,所述方法还包括:
判断记录开关是否打开;
若所述记录开关打开,则根据更新后的持锁信息中各唤醒锁的类型,记录所有唤醒锁中阻止CPU休眠的唤醒锁的持锁信息。
在第一方面的另一种可能的实现方式中,所述更新所记录的各唤醒锁的持锁信息,包括:
若检测到有新的应用申请唤醒锁,则将申请的唤醒锁的持锁信息增加至所记录的各唤醒锁的持锁信息中;
若检测到所记录的各唤醒锁对应的应用中有至少一个应用释放唤醒锁,则从所记录的各唤醒锁的持锁信息中删除所述至少一个应用释放唤醒锁的持锁信息;
若检测到所记录的各唤醒锁的持锁信息中至少一个唤醒锁的持锁信息发生变化时,则保存所述至少一个唤醒锁变化后的持锁信息。
在第一方面的另一种可能的实现方式中,所述方法还包括:
若检测到所述终端设备进入唤醒状态时,则停止记录各唤醒锁的持锁信息。
在第一方面的另一种可能的实现方式中,所述获取所述终端设备中所有应用持有的唤醒锁的数量,包括:
从所述终端设备的唤醒锁数组中获取终端设备中所有应用持有的唤醒锁的数量。
第二方面,本申请实施例提供一种持有唤醒锁应用的识别装置,包括:
获取模块,用于在终端设备进入待休眠状态时,获取所述终端设备中所有应用持有的唤醒锁的数量;
记录模块,用于若所述唤醒锁的数量大于或等于1,则记录各唤醒锁的持锁信息;
确定模块,用于根据记录的各所述唤醒锁的持锁信息,确定持有各所述唤醒锁的应用,其中,每个唤醒锁的持锁信息包括持有该唤醒锁的应用的标识信息。
在第二方面的另一种可能的实现方式中,所述持锁信息还包括所述唤醒锁的类型;所述装置还包括更新模块:
所述更新模块,用于更新所记录的各唤醒锁的持锁信息;
所述记录模块,还用于根据更新后的持锁信息中各唤醒锁的类型,记录所有唤醒锁中阻止CPU休眠的唤醒锁的持锁信息。
在第二方面的另一种可能的实现方式中,所述还包括判断模块:
所述判断模块,用于判断记录开关是否打开;
所述记录模块,具体用于若所述判断模块判断所述记录开关打开,则根据更新后的持锁信息中各唤醒锁的类型,记录所有唤醒锁中阻止CPU休眠的唤醒锁的持锁信息。
在第二方面的另一种可能的实现方式中,所述更新模块,具体用于若检测到有新的应用申请唤醒锁,则将申请的唤醒锁的持锁信息增加至所记录的各唤醒锁的持锁信息中;若检测到所记录的各唤醒锁对应的应用中有至少一个应用释放唤醒锁,则从所记录的各唤醒锁的持锁信息中删除所述至少一个应用释放唤醒锁的持锁信息;若检测到所记录的各唤醒锁的持锁信息中至少一个唤醒锁的持锁信息发生变化时,则保存所述至少一个唤醒锁变化后的持锁信息。
在第二方面的另一种可能的实现方式中,所述装置还包括:
停止模块,用于若检测到所述终端设备进入唤醒状态时,则停止记录各唤醒锁的持锁信息。
在第二方面的另一种可能的实现方式中,所述获取模块,具体用于从所述终端设备的唤醒锁数组中获取终端设备中所有应用持有的唤醒锁的数量。
第三方面,本申请实施例提供一种持有唤醒锁应用的识别装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如第一方面所述的持有唤醒锁应用的识别方法。
第四方面,本申请实施例提供一种计算机存储介质,其特征在于,所述存储介质中存储计算机程序,所述计算机程序在执行时实现如第一方面所述的持有唤醒锁应用的识别方法。
本申请实施例提供的持有唤醒锁应用的识别方法与装置,通过在终端设备进入待休眠状态时,获取所述终端设备中所有应用持有的唤醒锁的数量;若所述唤醒锁的数量大于或等于1,则记录各唤醒锁的持锁信息,并根据记录的各所述唤醒锁的持锁信息,确定持有各所述唤醒锁的应用,其中,每个唤醒锁的持锁信息包括持有该唤醒锁的应用的标识信息,进而准确、快速地识别出终端设备持有wake lock的应用。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的持有唤醒锁应用的识别方法的流程图;
图2为本实施例涉及的wake lock数组的示意图;
图3为本申请实施例二提供的持有唤醒锁应用的识别方法的流程图;
图4为本申请实施例一提供的持有唤醒锁应用的识别装置的示意图;
图5为本申请实施例二提供的持有唤醒锁应用的识别装置的示意图;
图6为本申请实施例三提供的持有唤醒锁应用的识别装置的示意图;
图7为本申请实施例四提供的持有唤醒锁应用的识别装置的示意图;
图8为本申请实施例提供的持有唤醒锁应用的识别装置的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本实施例提供的方法,在终端设备进入待休眠状态时,记录各唤醒锁的持锁信息,并根据该持锁信息确定持有唤醒锁的应用,进而实现对持有唤醒锁应用的快速确定,且整个过程简单。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本申请实施例一提供的持有唤醒锁应用的识别方法的流程图。该如图1所示,本实施例的方法可以包括:
S101、在终端设备进入待休眠状态时,获取所述终端设备中所有应用持有的唤醒锁的数量。
本实施例的执行主体为可以识别出持有唤醒锁应用的识别装置,例如为持有唤醒锁应用的识别装置。该识别装置可以为单独的设备,也可以是电子设备中的一部分,例如为电子设备中的处理器。
可选的,本实施例的识别装置还可以是终端设备的一部分,该终端设备中安装有唤醒锁wake lock。
可选的,上述终端设备:可以是无线终端设备也可以是有线终端设备,无线终端设备可以是指一种具有无线收发功能的设备,可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。所述终端设备可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(Virtual Reality,VR)终端设备、增强现实(Augmented Reality,AR)终端设备、工业控制(industrial control)中的无线终端设备、无人驾驶(self driving)中的无线终端设备、远程医疗(remote medical)中的无线终端设备、智能电网(smart grid)中的无线终端设备、运输安全(transportation safety)中的无线终端设备、智慧城市(smart city)中的无线终端设备、智慧家庭(smart home)中的无线终端设备等等,在此不作限定。
本实施例的终端设备中设置多个应用程序,以终端设备为手机为例,在手机中安装有各种通信应用,例如电话APP、短信APP、微信APP等。还安装有各种工具应用,例如天气APP、计算机APP、相机APP和浏览器等。
本实施例的终端设备还包括至少一个唤醒锁。其中,wake lock的类型可以包括:
1、WAKE_LOCK_SUSPEND,这种锁如果被某个task(应用)持有,那么系统将无法进入休眠。
2、WAKE_LOCK_IDLE,这种锁不会影响到系统进入休眠,但是如果这种锁被持有,那么系统将无法进入idle空闲模式。
在本实施例中,当终端设备进入待休眠状态,且终端设备中的任一个应用持有wake lock时,终端设备的系统无法进入休眠状态。
本实施例中,识别装置与终端设备通信连接,例如可以通过无线通信连接,也可以通过有线连接通信。
在终端设备进入待休眠状态时,例如按压手机上的关屏按钮,手机进入待休眠状态。
本实施例的识别装置可以识别到终端设备是否进入待休眠状态,例如,识别装置从终端设备的锁屏按钮处获取终端设备是否处于休眠状态,或者识别装置从终端设备的处理器处获取终端设备是否进入待休眠状态。可选的,识别装置还可以通过其他的方式,获取终端设备是否进入待休眠状态。
在识别装置识别到终端设备进入待休眠状态时,获取终端设备中所有应用持有的唤醒锁的数量。
例如,在终端设备进入待休眠状态时,终端设备中的多个应用继续运行,例如手机锁屏时,电话应用、短信应用、以及微信应用等需要继续正常运行,可以及时接收消息。此时,终端设备中的这些应用申请wake lock,当这些应用持有wake lock后,终端设备锁屏,进入待休眠状态时,wake lock阻止终端设备的CPU进入休眠状态,进而使得这些应用可以正常运行。
其中,终端设备可以记录哪些应用申请了wake lock,以及申请wake lock时间和类型等。
在本实施例的一种可能的实现方式中,上述S101可以包括:从所述终端设备的唤醒锁数组中获取终端设备中所有应用持有的唤醒锁的数量。
例如,如图2所示,终端设备中的电源管理模块管理一个wake lock数组,将所有应用申请的wake lock保存在该wake lock数组中。
需要说明的是,在实际使用过程中,终端设备中持有wake lock的应用,以及应用持有的wake lock的类型会变换。例如,应用A在时间1时持有wake lock,但在时间2时释放wake lock。再例如,应用B在时间3时持有wake lock4,在时间5时持有wake lock5。
本实施例,识别装置在终端设备进入待休眠状态时,获取终端设备中所有应用持有的唤醒锁的数量。例如,识别装置从图2所示的wake lock数组中读取该终端设备中所有应用持有的唤醒锁的数量。
S102、若所述唤醒锁的数量大于或等于1,则记录各唤醒锁的持锁信息,并根据记录的各所述唤醒锁的持锁信息,确定持有各所述唤醒锁的应用,其中,每个唤醒锁的持锁信息包括持有该唤醒锁的应用的标识信息。
本步骤中,识别装置根据上述步骤,获得在终端设备进入待休眠状态时,终端设备中所有应用持有的唤醒锁的数量。接着,根据该唤醒锁的数量,确定持有各所述唤醒锁的应用。
具体的,判断上述获得的终端设备中所有应用持有的唤醒锁的数量是否大于或等于1。若终端设备中所有应用持有的唤醒锁的数量为0,则不做任何操作。若终端设备中所有应用持有的唤醒锁的数量大于或等于1,则记录各唤醒锁的持锁信息,例如打印各唤醒锁的持锁信息。
其中,唤醒锁的持锁信息包括持有该唤醒锁的应用的标识信息。
这样,可以根据记录的各唤醒锁的持锁信息,确定持有各所述唤醒锁的应用。
举例说明,在终端设备进入待休眠状态时,识别装置首先从wake lock数组中获取终端设备中所有应用持有的唤醒锁的数量。若判断终端设备中所有应用持有的唤醒锁的数量大于或等于1,则从该wake lock数组中获取上述各唤醒锁的持锁信息。接着,根据记录的各唤醒锁的持锁信息中所包括的持有该唤醒锁的应用的标识信息,确定持有各唤醒锁的应用,进而准确、快速地识别出终端设备哪些应用持有wake lock。
本申请实施例提供的持有唤醒锁应用的识别方法,通过在终端设备进入待休眠状态时,获取所述终端设备中所有应用持有的唤醒锁的数量;若所述唤醒锁的数量大于或等于1,则记录各唤醒锁的持锁信息,并根据记录的各所述唤醒锁的持锁信息,确定持有各所述唤醒锁的应用,其中,每个唤醒锁的持锁信息包括持有该唤醒锁的应用的标识信息,进而准确、快速地识别出终端设备持有wake lock的应用。
图3为本申请实施例二提供的持有唤醒锁应用的识别方法的流程图。在上述实施例的基础上,若持锁信息还包括所述唤醒锁的类型,则如图3所示,本实施例的方法可以包括:
S301、在终端设备进入待休眠状态时,获取所述终端设备中所有应用持有的唤醒锁的数量。
该步骤参照上述实施例S101的描述,在此不再赘述。
S302、若所述唤醒锁的数量大于或等于1,则记录各唤醒锁的持锁信息。
S303、更新所记录的各唤醒锁的持锁信息。
在实际使用时,当终端设备进入待休眠状态时,终端设备中各应用持有的唤醒锁可能发生变化,例如上述所述,有些应用释放wake lock,有些应用申请wake lock,有些应用更改持有的wake lock的类型。这样使得各应用持有的wake lock的持锁信息发送变化。
因此,本实施例需要及时更新上述所记录的各唤醒锁的持锁信息。
在本实施例的一种可能的实现方式中,上述S303具体可以包括:若检测到有新的应用申请唤醒锁,则将申请的唤醒锁的持锁信息增加至所记录的各唤醒锁的持锁信息中。若检测到所记录的各唤醒锁对应的应用中有至少一个应用释放唤醒锁,则从所记录的各唤醒锁的持锁信息中删除所述至少一个应用释放唤醒锁的持锁信息。若检测到所记录的各唤醒锁的持锁信息中至少一个唤醒锁的持锁信息发生变化时,则保存所述至少一个唤醒锁变化后的持锁信息。
S304、根据更新后的持锁信息中各唤醒锁的类型,记录所有唤醒锁中阻止CPU休眠的唤醒锁的持锁信息。
其中,唤醒锁包括阻止终端设备的CPU休眠的唤醒锁,以及包括不阻止终端设备的CPU休眠的唤醒锁。
本实施例,根据上述更新后的持锁信息中所保存的各唤醒锁的类型,从中获取阻止CPU休眠的唤醒锁,并记录这些阻止CPU休眠的唤醒锁的持锁信息。这样,工作人员可以从记录的阻止CPU休眠的唤醒锁的持锁信息中获知当前时刻,阻止CPU休眠的应用有哪些。
在本实施例的一种可能的实现方式中,上述S303之前,本实施例还包括:判断记录开关是否打开,若所述记录开关打开,则根据更新后的持锁信息中各唤醒锁的类型,记录所有唤醒锁中阻止CPU休眠的唤醒锁的持锁信息。
在实际使用时,记录上述唤醒锁的持锁信息的开关在终端设备进入待休眠状态时打开,在终端设备处于唤醒状态时关闭。
因此,本实施例在记录唤醒锁的持锁信息时,首先判断上述记录的开关是否打开,若打开,则说明终端设备进入待休眠状态,需要记录终端设备中所有应用持有的唤醒锁的持锁信息,进而提高了记录的有效性。
S305、若检测到所述终端设备进入唤醒状态时,则停止记录各唤醒锁的持锁信息。
本实施例中,若识别装置检测到终端设备进入唤醒状态时,则停止记录各唤醒锁的持锁信息,进而降低识别装置记录无效的持锁信息,提高了识别装置工作的有效性和可靠性。
本申请实施例提供的持有唤醒锁应用的识别方法,通过更新所记录的各唤醒锁的持锁信息;根据更新后的持锁信息中各唤醒锁的类型,记录所有唤醒锁中阻止CPU休眠的唤醒锁的持锁信息,进而实现对持锁信息的及时更新,保证了记录的持锁信息是正确的,进而使得基于记录的持锁信息可以准确识别出持有唤醒锁的应用。
图4为本申请实施例一提供的持有唤醒锁应用的识别装置的示意图。本实施例的持有唤醒锁应用的识别装置100包括:
获取模块110,用于在终端设备进入待休眠状态时,获取所述终端设备中所有应用持有的唤醒锁的数量;
记录模块120,用于若所述唤醒锁的数量大于或等于1,则记录各唤醒锁的持锁信息;
确定模块130,用于根据记录的各所述唤醒锁的持锁信息,确定持有各所述唤醒锁的应用,其中,每个唤醒锁的持锁信息包括持有该唤醒锁的应用的标识信息。
本申请实施例的持有唤醒锁应用的识别装置,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5为本申请实施例二提供的持有唤醒锁应用的识别装置的示意图。在上述实施例的基础上,如图5所示,本实施例的持有唤醒锁应用的识别装置100还包括更新模块140;
所述更新模块140,用于更新所记录的各唤醒锁的持锁信息;
所述记录模块120,还用于根据更新后的持锁信息中各唤醒锁的类型,记录所有唤醒锁中阻止CPU休眠的唤醒锁的持锁信息。
本申请实施例的持有唤醒锁应用的识别装置,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本申请实施例三提供的持有唤醒锁应用的识别装置的示意图。在上述实施例的基础上,如图6所示,本实施例的持有唤醒锁应用的识别装置100还包括判断模块150;
所述判断模块150,用于判断记录开关是否打开;
所述记录模块120,具体用于若所述判断模块150判断所述记录开关打开,则根据更新后的持锁信息中各唤醒锁的类型,记录所有唤醒锁中阻止CPU休眠的唤醒锁的持锁信息。
在本实施例的一种可能的实现方式中,所述更新模块140,具体用于若检测到有新的应用申请唤醒锁,则将申请的唤醒锁的持锁信息增加至所记录的各唤醒锁的持锁信息中;若检测到所记录的各唤醒锁对应的应用中有至少一个应用释放唤醒锁,则从所记录的各唤醒锁的持锁信息中删除所述至少一个应用释放唤醒锁的持锁信息;若检测到所记录的各唤醒锁的持锁信息中至少一个唤醒锁的持锁信息发生变化时,则保存所述至少一个唤醒锁变化后的持锁信息。
本申请实施例的持有唤醒锁应用的识别装置,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本申请实施例四提供的持有唤醒锁应用的识别装置的示意图。在上述实施例的基础上,如图7所示,本实施例的持有唤醒锁应用的识别装置100还包括停止模块160;
所述停止模块160,用于若检测到所述终端设备进入唤醒状态时,则停止记录各唤醒锁的持锁信息。
在本实施例的一种可能的实现方式中,所述获取模块110,具体用于从所述终端设备的唤醒锁数组中获取终端设备中所有应用持有的唤醒锁的数量。
本申请实施例的持有唤醒锁应用的识别装置,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本申请实施例提供的持有唤醒锁应用的识别装置的示意图。本实施比例的持有唤醒锁应用的识别装置200,包括:
存储器210,用于存储计算机程序;
处理器220,用于执行所述计算机程序,以实现上述的持有唤醒锁应用的识别方法。
本申请实施例的持有唤醒锁应用的识别装置,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
进一步的,当本申请实施例中的持有唤醒锁应用的识别方法的至少一部分功能通过软件实现时,本申请实施例还提供一种计算机存储介质,计算机存储介质用于储存为上述的持有唤醒锁应用的识别的计算机软件指令,当其在计算机上运行时,使得计算机可以执行上述方法实施例中各种可能的持有唤醒锁应用的识别方法。在计算机上加载和执行所述计算机执行指令时,可全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机存储介质中,或者从一个计算机存储介质向另一个计算机存储介质传输,所述传输可以通过无线(例如蜂窝通信、红外、短距离无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如SSD)等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种持有唤醒锁应用的识别方法,其特征在于,包括:
在终端设备进入待休眠状态时,获取所述终端设备中所有应用持有的唤醒锁的数量;
若所述唤醒锁的数量大于或等于1,则记录各唤醒锁的持锁信息,并根据记录的各所述唤醒锁的持锁信息,确定持有各所述唤醒锁的应用,其中,每个唤醒锁的持锁信息包括持有该唤醒锁的应用的标识信息。
2.根据权利要求1所述的方法,其特征在于,所述持锁信息还包括所述唤醒锁的类型;所述记录各唤醒锁的持锁信息之后,所述方法还包括:
更新所记录的各唤醒锁的持锁信息;
根据更新后的持锁信息中各唤醒锁的类型,记录所有唤醒锁中阻止CPU休眠的唤醒锁的持锁信息。
3.根据权利要求1所述的方法,其特征在于,所述根据更新后的持锁信息中各唤醒锁的类型,记录所有唤醒锁中阻止CPU休眠的唤醒锁的持锁信息之前,所述方法还包括:
判断记录开关是否打开;
若所述记录开关打开,则根据更新后的持锁信息中各唤醒锁的类型,记录所有唤醒锁中阻止CPU休眠的唤醒锁的持锁信息。
4.根据权利要求2所述的方法,其特征在于,所述更新所记录的各唤醒锁的持锁信息,包括:
若检测到有新的应用申请唤醒锁,则将申请的唤醒锁的持锁信息增加至所记录的各唤醒锁的持锁信息中;
若检测到所记录的各唤醒锁对应的应用中有至少一个应用释放唤醒锁,则从所记录的各唤醒锁的持锁信息中删除所述至少一个应用释放唤醒锁的持锁信息;
若检测到所记录的各唤醒锁的持锁信息中至少一个唤醒锁的持锁信息发生变化时,则保存所述至少一个唤醒锁变化后的持锁信息。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
若检测到所述终端设备进入唤醒状态时,则停止记录各唤醒锁的持锁信息。
6.根据权利要求1所述的方法,其特征在于,所述获取所述终端设备中所有应用持有的唤醒锁的数量,包括:
从所述终端设备的唤醒锁数组中获取终端设备中所有应用持有的唤醒锁的数量。
7.一种持有唤醒锁应用的识别装置,其特征在于,包括:
获取模块,用于在终端设备进入待休眠状态时,获取所述终端设备中所有应用持有的唤醒锁的数量;
记录模块,用于若所述唤醒锁的数量大于或等于1,则记录各唤醒锁的持锁信息;
确定模块,用于根据记录的各所述唤醒锁的持锁信息,确定持有各所述唤醒锁的应用,其中,每个唤醒锁的持锁信息包括持有该唤醒锁的应用的标识信息。
8.根据权利要求7所述的装置,其特征在于,所述持锁信息还包括所述唤醒锁的类型,所述装置还包括更新模块:
所述更新模块,用于更新所记录的各唤醒锁的持锁信息;
所述记录模块,还用于根据更新后的持锁信息中各唤醒锁的类型,记录所有唤醒锁中阻止CPU休眠的唤醒锁的持锁信息。
9.一种持有唤醒锁应用的识别装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1-6中任一项所述的持有唤醒锁应用的识别方法。
10.一种计算机存储介质,其特征在于,所述存储介质中存储计算机程序,所述计算机程序在执行时实现如权利要求1-6中任一项所述的持有唤醒锁应用的识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811564500.2A CN111352660A (zh) | 2018-12-20 | 2018-12-20 | 持有唤醒锁应用的识别方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811564500.2A CN111352660A (zh) | 2018-12-20 | 2018-12-20 | 持有唤醒锁应用的识别方法与装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111352660A true CN111352660A (zh) | 2020-06-30 |
Family
ID=71192059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811564500.2A Pending CN111352660A (zh) | 2018-12-20 | 2018-12-20 | 持有唤醒锁应用的识别方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111352660A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114815675A (zh) * | 2021-01-29 | 2022-07-29 | 成都鼎桥通信技术有限公司 | 微控制单元唤醒系统、方法、智能座舱及汽车 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104020837A (zh) * | 2014-06-19 | 2014-09-03 | 珠海全志科技股份有限公司 | 音频播放电源管理方法及电源管理装置 |
CN105354491A (zh) * | 2015-10-12 | 2016-02-24 | 广东小天才科技有限公司 | 智能终端待机状态检测方法及装置 |
CN105530377A (zh) * | 2015-12-14 | 2016-04-27 | 广东欧珀移动通信有限公司 | 一种唤醒锁的处理方法、装置及系统 |
CN106662907A (zh) * | 2015-10-29 | 2017-05-10 | 华为技术有限公司 | 基于终端的唤醒锁控制方法、装置及终端 |
CN107608724A (zh) * | 2017-09-26 | 2018-01-19 | 深圳市金立通信设备有限公司 | 一种管理应用程序的方法、终端及计算机可读存储介质 |
CN108536269A (zh) * | 2018-03-26 | 2018-09-14 | 上海康斐信息技术有限公司 | 一种降低终端待机功耗的方法及其系统 |
-
2018
- 2018-12-20 CN CN201811564500.2A patent/CN111352660A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104020837A (zh) * | 2014-06-19 | 2014-09-03 | 珠海全志科技股份有限公司 | 音频播放电源管理方法及电源管理装置 |
CN105354491A (zh) * | 2015-10-12 | 2016-02-24 | 广东小天才科技有限公司 | 智能终端待机状态检测方法及装置 |
CN106662907A (zh) * | 2015-10-29 | 2017-05-10 | 华为技术有限公司 | 基于终端的唤醒锁控制方法、装置及终端 |
CN105530377A (zh) * | 2015-12-14 | 2016-04-27 | 广东欧珀移动通信有限公司 | 一种唤醒锁的处理方法、装置及系统 |
CN107608724A (zh) * | 2017-09-26 | 2018-01-19 | 深圳市金立通信设备有限公司 | 一种管理应用程序的方法、终端及计算机可读存储介质 |
CN108536269A (zh) * | 2018-03-26 | 2018-09-14 | 上海康斐信息技术有限公司 | 一种降低终端待机功耗的方法及其系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114815675A (zh) * | 2021-01-29 | 2022-07-29 | 成都鼎桥通信技术有限公司 | 微控制单元唤醒系统、方法、智能座舱及汽车 |
CN114815675B (zh) * | 2021-01-29 | 2023-10-20 | 成都鼎桥通信技术有限公司 | 微控制单元唤醒系统、方法、智能座舱及汽车 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10088565B2 (en) | Method and apparatus for detecting that a device is immersed in a liquid | |
US20190220216A1 (en) | Memory reclaiming method and terminal | |
EP3236640B1 (en) | Method and apparatus for detecting and dealing with a lost electronics device | |
EP3618563B1 (en) | System, method, and device for exposing wireless module data storage | |
CN108702421B (zh) | 用于控制应用和组件的电子设备和方法 | |
CN109144232B (zh) | 进程处理方法和装置、电子设备、计算机可读存储介质 | |
KR20160105274A (ko) | 전자 장치 및 전자 장치의 어플리케이션 제어 방법 | |
CN110018901B (zh) | 内存回收方法、装置、计算机设备和计算机可读存储介质 | |
US10198057B2 (en) | Electronic device and method for measuring position change | |
CN106980647B (zh) | 一种分布式文件系统数据分布方法及装置 | |
KR20180109593A (ko) | 전자 장치 및 전자 장치의 수분 감지 방법 | |
EP3128789A1 (en) | Method, device and mobile terminal for reducing power consumption | |
CN109992375B (zh) | 信息处理方法、装置、计算机设备和计算机可读存储介质 | |
WO2018126884A1 (zh) | 一种终端设备的节电方法及终端设备 | |
CN109992380B (zh) | 应用程序处理方法和装置、电子设备、计算机可读存储介质 | |
EP3308246A1 (en) | Background task management | |
CN111352660A (zh) | 持有唤醒锁应用的识别方法与装置 | |
CN108762983B (zh) | 多媒体数据恢复方法及装置 | |
CN107526512B (zh) | 用于电子设备的切换方法和系统 | |
CN106603526B (zh) | WiFi/热点的开启方法及装置 | |
CN105700656B (zh) | 待机异常耗电侦测系统及方法 | |
US20160070332A1 (en) | Modifying Power Consumption Based On Energy-Usage Messages | |
CN104112056A (zh) | 数据处理的故障检测方法和系统 | |
CN109992369B (zh) | 应用程序处理方法和装置、电子设备、计算机可读存储介质 | |
CN112997132A (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 |
Application publication date: 20200630 |
|
RJ01 | Rejection of invention patent application after publication |