安卓wakelock机制

news2024/11/15 11:36:21

安卓wakelock机制

  • 1.Wakelock作用
  • 2.WakeLock锁分类
  • 3.WakeLock的级别level

1.Wakelock作用

在这里插入图片描述
当手机灭屏状态下保持一段时间后,系统会进入休眠,这时,Android系统中CPU会保持在一个相对较低的功耗状态,一些后台运行的任务就可能得不到正常执行,比如网络下载中断,后台播放音乐暂停等。WakeLock正是为了解决这类问题,应用只要申请了WakeLock,那么在释放WakeLock之前,系统不会进入休眠,即使在灭屏的状态下,应用要执行的任务依旧不会被系统打断。

2.WakeLock锁分类

  • 永久锁:永久锁表示只要获取了WakeLock锁,必须显式的进行释放,否则系统会一直持有该锁
  • 超时锁:到达给定时间后,若没有显示释放锁,就会启动自动释放WakeLock锁

  • 计数锁:如果一个WakeLock对象为计数锁,则一次accquire申请必须对应一次release释放
    (–count == 0 )的时候解锁,同样当 (count == 0) 的时候才会去申请加锁
  • 非计数锁:不管申请多少次,一次就可以释放该WakeLock

3.WakeLock的级别level

未弃用

  • PARTIAL_WAKE_LOCK :保持CPU运转,但是键盘灯和屏幕可以关闭(屏幕和键盘灯不受该锁影响,可以正常熄灭不会导致该锁释放)
  • PROXIMITY_SCREEN_OFF_WAKE_LOCK:当距离传感器检测到有物体(包括)靠近,会将屏幕熄灭;相反,当检测到物体远离后会点亮屏幕(应用场景在通话中比较常见)。上述锁不会影响终端的正常进入休眠状态,只有当前屏幕由该wakelock锁灭掉,才不会进入休眠状态

已弃用

  • SCREEN_DIM_WAKE_LOCK:只限制屏幕,保证亮起,但是允许它亮度变低。
  • SCREEN_BRIGHT_WAKE_LOCK:保证屏幕最高亮,但是键盘背光灯允许熄灭。
  • FULL_WAKE_LOCK:保证屏幕最高亮度,并且键盘背光灯不允许熄灭。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1085098.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

扁圆头带榫螺栓

声明 本文是学习GB-T 15-2013 扁圆头带榫螺栓. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了螺纹规格为M6~M24、 产品等级为C 级的扁圆头带榫螺栓。 2 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是…

TypeError: safe_load() missing 1 required positional argument: ‘stream‘

诶,就很简单的问题,原因就是忘了加上需要读取到哪个文件这个参数,救命

区块链游戏的开发流程

链游(Blockchain Games)的开发流程与传统游戏开发有许多相似之处,但它涉及到区块链技术的集成和智能合约的开发。以下是链游的一般开发流程,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司&…

2023年DDoS攻击暴增170%:美国、中国和印度是重灾区

根据网络安全厂商StormWall近日发布的《2023年一季度全球DDoS攻击综合报告》,2023年一季度DDoS攻击与2022年同期相比增长了47%。 DDoS攻击呈现三大趋势 调查结果显示DDoS攻击呈现三大趋势:僵尸网络再次兴起、针对关键基础设施,以及越来越多…

openGauss学习笔记-97 openGauss 数据库管理-访问外部数据库-dblink

文章目录 openGauss学习笔记-97 openGauss 数据库管理-访问外部数据库-dblink97.1 编译dblink97.2 常用的dblink函数97.3 注意事项 openGauss学习笔记-97 openGauss 数据库管理-访问外部数据库-dblink openGauss的fdw实现的功能是各个openGauss数据库及远程服务器(…

快速数据处理:根据多字段查找重复记录及删除多余记录

目录 为什么要处理重复记录 1 查询重复记录 2 查询重复记录使用的控件及代码 3 删除重复记录 4 导出数据 为什么要处理重复记录 如果一个数据集中含有重复记录,可能需要仅仅保留一条记录,清理掉多余的记录。重复记录的定义,可能仅根据一…

架构师成长路线图

成长为软件架构师不是一件容易的事,这篇文章列举了架构师需要学习的技术储备,给出了成为软件架构师的路线图,帮助有志于在架构领域成长的同学可以明确学习的方向。原文:Master Plan for becoming a Software Architect[1] Danist …

最新AI创作系统ChatGPT源码+详细搭建部署教程,支持AI绘画/支持OpenAI-GPT全模型+国内AI全模型

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统AI绘画系统,支持OpenAI GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署…

苹果FindMy

随着科技的不断发展,人们的生活越来越离不开各种电子设备。然而,随着设备的增多,如何有效地管理和追踪这些设备成为了一个日益突出的问题。针对这一问题,苹果公司推出了一款名为“Find My”的应用程序,为全球的苹果用户…

Blender:渲染一个简单动画

接上 Blender:对模型着色_六月的翅膀的博客-CSDN博客 目标是做一个这种视频 先添加一个曲线,作为相机轨迹 然后添加一个相机 对相机添加物体约束,跟随路径,选择曲线,然后点击动画路径 假如对相机设置跟随路径后&…

新闻软文稿件媒体发布怎么做?纯干货

新闻软文稿件需要投放在正确的媒体上,才能获得更好的宣传推广效果,新闻软文稿件媒体发布怎么做?今天伯乐网络传媒就来给大家讲解一下,纯干货,建议收藏起来慢慢看。 一、媒体选择与分析 1. 确定目标媒体 在进行新闻软…

从物联网到万物互联:AI与6G融合,实现互联智能

物联网市场正在快速增长。它正在走进全球每一个家庭。据McKinsey预测,到2030年,全球物联网市场将达到12.6万亿美元。但是,如今,它已不再严格限于机器对机器(M2M)通信。 物联网(IoT)建立了一个网络,用于连接物理对象&am…

数据结构(一)—— 数据结构简介

文章目录 一、基本概念和术语?1.1、数据1.2、数据元素1.3、数据项(属性、字段)1.4、数据对象1.5、数据结构 二、逻辑结构和物理结构(存储结构)2.1、逻辑结构1、定义2、分类(线性结构和非线性结构&#xff0…

机器学习 Q-Learning

对马尔可夫奖励的理解 看的这个教程 公式:V(s) R(s) γ * V(s’) V(s) 代表当前状态 s 的价值。 R(s) 代表从状态 s 到下一个状态 s’ 执行某个动作后所获得的即时奖励。 γ 是折扣因子,它表示未来奖励的重要性,通常取值在 0 到 1 之间。…

程序员个性终端指南(cmder、powershell、window terminal)

序言 工欲善其事,必先利其器。对于 IT 从业者,命令行终端是一道绕不过的坎,日常开发、服务运维都要用到这个工具。 这里我介绍下从业多年来用过的 windwos 平台下终端工具。 CMD/命令行提示符 这个是 windows 自带的工具,平平无…

10.12按键中断

设置按键中断,按键1按下,LED亮,再按一次,灭 按键2按下,蜂鸣器响。再按一次,不响 按键3按下,风扇转,再按一次,风扇停 keyit.h: #ifndef __KEYIT_H__ #define __KEYIT_…

speech recognization

目标,在播放声音的时候,禁用掉麦克风 新建立一个文件夹,然后拖入vscode中 然后创建虚拟环境,vscode会自动帮我们创建虚拟环境,手动激活虚拟环境 source venv/bin/activate import speech_recognition as sr import …

免费使用Salesforce Data Cloud!详细操作步骤来啦

Data Cloud是Salesforce向市场推出的增长最快的产品,这对Salesforce来说是一个重要竞争优势。 近期,Salesforce宣布客户可以免费使用Data Cloud。这就是所谓的零美元SKU,换句话说,这是一条不会产生任何成本的Salesforce产品线。 …

云原生Kubernetes:K8S集群版本升级(v1.20.15 - v1.22.14)

目录 一、理论 1.K8S集群升级 2.集群概况 3.升级集群(v1.21.14) 4.验证集群(v1.21.14) 5.升级集群(v1.22.14) 6.验证集群 (v1.22.14) 二、实验 1.升级集群(v1.21.14) 2.验…

03在命令行环境中创建Maven版的Java工程,了解Java工程的目录结构并编写代码,执行Maven的构建命令

创建Maven版的Java工程 Maven工程的坐标 数学中使用x、y、z三个向量可以在空间中唯一的定位一个点, Maven中也可以使用groupId,artifactId,version三个向量在Maven的仓库中唯一的定位到一个jar包 groupId: 公司或组织域名的倒序, 通常也会加上项目名称代表公司或组织开发的一…