当前位置: 首页 > article >正文

安卓wakelock 学习

目录1 wakelock 是什么2如何使用wakelock3, 安卓系统中使用wakelock 的实例4, 实际项目中wakelock 遇到的问题1 wakelock 是什么Wake Lock是一种锁的机制只要有人拿着这个锁系统就无法进入休眠可以被用户态程序获取也可以被内核获得2如何使用wakelock3, 安卓系统中使用wakelock 的实例应用层使用wakelock 实例Android 使用wakelock示例_mob649e816138f5的技术博客_51CTO博客内核层wakelock 介绍Linux休眠唤醒之wakelock机制-CSDN博客Android应用申请wakelock示例 android wakelock 无效_lgmyxbjfu的技术博客_51CTO博客注意wakelock 使用一定要先设置权限。4, 实际项目中wakelock 遇到的问题1、客户MMI 测试sar sensor 校准app 层增加一个45度判断逻辑发现点击校准后app 命令无法下发到hal 层去执行校准逻辑返回err.具体报错03-09 18:37:18.072678 1320 1343 E HWMLIB : sar_start_static_calibration: enable cali err: -103-09 18:37:18.072848 1320 1343 E interfaces.factoryInterface-V1-service: sar_start_static_calibration error.03-09 18:37:18.073049 1320 1343 D HWMLIB : [RD] 3.4280 5.6140 3.0610 3428 5614 306103-09 18:37:18.073525 1320 1343 D interfaces.factoryInterface-V1-service: sar_get_static_calibration() 3.42800003-09 18:37:18.073734 1662 1885 WSensorService: Failed to write wake lock handled针对上述问题分析对app 层sar 校准开始前代码逻辑分析。根据客户反馈为了防止校准误操作客户应用层做了一个45度判断逻辑去掉这个逻辑后就可以通过adb 命令正常校准。根据推理问题出在45度角度判断地方。于是对这部分代码进行分析如下目前怀疑问题点wakelock 持锁超时后释放后向唤醒锁队列中写入输wakeevent报错导致1 地磁驱动问题2加速度驱动问题Debug 方法目前根据上层log 查看流程03-09 18:34:26.479404 6068 6068 D MMIGroup Sar-ap: Find test capsense: sx937x SAR03-09 18:34:26.480597 886 886 I ApFusion: batch: handle:2, flag:0,samplingPeriodNs:5000000 maxBatchReportLatencyNs:003-09 18:34:26.480764 1662 2667 I SensorService: actuating h/w activate handle0x3 enabled103-09 18:34:26.480861 886 886 I ApFusion: enable, handle:2, en:103-09 18:34:26.480979 886 886 IAccelerometer: batch: handle:0, flag:0,samplingPeriodNs:5000000 maxBatchReportLatencyNs:003-09 18:34:26.482531 886 886 I Accelerometer: enable: handle:0, en:103-09 18:34:26.484313 886 886 I Magnetic: batch: handle:1, flag:0, samplingPeriodNs:20000000,maxBatchReportLatencyNs:003-09 18:34:26.486435 886 886 I Magnetic: enable: handle:1, en:103-09 18:34:26.495355 886 886 IAccelerometer: batch: handle:0, flag:0,samplingPeriodNs:4000000 maxBatchReportLatencyNs:003-09 18:34:26.495869 1662 3835 I SensorService: actuating h/w activate handle0x1 enabled103-09 18:34:26.497299 1662 3835 I SensorService: actuating h/w activate handle0x2 enabled103-09 18:34:26.498852 6068 6068 D MMIGroup MMIGroupApplication: onActivityStarted:com.factory.mmigroup.sensoritem.Sard92de74根据上述log 我们可以看到设置加速的batch 设置两次第一次是5ms 第二次是4ms, 于是对应scp 中的log 查看发现会出现20ms的samplerate且加速度数据上报速率也是很混乱和设置的sample rate 完全不匹配。行134908: [263.481]sensorRateAcc rate:51200, latency:20000000行 134916: [263.481]sensorRateAcc rate:51200, latency:20000000行 137011: [264.055]sensorRateAcc rate:409600, latency:3999744行 137019: [264.055]sensorRateAcc rate:409600, latency:3999744行 138207: [272.531]sensorRateAcc rate:51200, latency:20000000行 138221: [272.532]sensorRateAcc rate:51200, latency:20000000行 139484: [272.720]sensorRateAcc rate:204800, latency:4999168行 139494: [272.721]sensorRateAcc rate:204800, latency:4999168行 149989: [279.311]sensorRateAcc rate:51200, latency:20000000行 150009: [279.312]sensorRateAcc rate:51200, latency:20000000行 151117: [279.638]sensorRateAcc rate:204800, latency:4999168行 151135: [279.638]sensorRateAcc rate:204800, latency:4999168行 159468: [283.646]sensorRateAcc rate:51200, latency:20000000行 159510: [283.653]sensorRateAcc rate:51200, latency:20000000行 188323: [289.540]sensorRateAcc rate:204800, latency:4999168行 188341: [289.541]sensorRateAcc rate:204800, latency:4999168行 188453: [289.551]sensorRateAcc rate:409600, latency:3999744加速度数据行 93307: [242.971]mir3da ReportData_xyz[-4.261254, -1.493458, 9.030869].行 93311: [242.971]mir3da ReportData_xyz[-4.385757, -1.455149, 9.107486].行 93315: [242.971]mir3da ReportData_xyz[-5.218969, -1.416841, 9.155372].行 93375: [242.979]mir3da ReportData_xyz[-5.324317, -1.388109, 9.203258].行 93419: [243.092]mir3da ReportData_xyz[-2.738487, -1.857390, 5.870409].行 93423: [243.092]mir3da ReportData_xyz[-2.824682, -1.943584, 6.607850].行 93427: [243.092]mir3da ReportData_xyz[-2.930030, -2.020201, 6.665312].行 93431: [243.092]mir3da ReportData_xyz[-3.734511, -2.106396, 6.703621].行 93553: [243.152]mir3da ReportData_xyz[-0.449549, -5.142352, 6.789815].行 93557: [243.152]mir3da ReportData_xyz[-0.449549, -5.180660, 6.770661].行 93561: [243.152]mir3da ReportData_xyz[-0.449549, -5.209392, 6.770661].行 93565: [243.152]mir3da ReportData_xyz[-0.478280, -5.238123, 6.780238].行 93637: [243.160]mir3da ReportData_xyz[-0.526166, -5.238123, 6.799393].行 93641: [243.161]mir3da ReportData_xyz[-0.583629, -5.238123, 6.799393].行 93673: [243.192]mir3da ReportData_xyz[-2.815104, -4.797574, 7.5000401 evtdata:2行 93705: [243.252]mir3da ReportData_xyz[-1.129526, -6.T行 93741: [243.292]mir3da ReportData_xyz[-1.397686, -6.990741, 7.431484].行 93745: [243.292]mir3da ReportData_xyz[-1.378532, -6.990741, 7.421907].行 93749: [243.292]mir3da ReportData_xyz[-1.378532, -6.981164, 7.421907].行 93753: [243.292]mir3da ReportData_xyz[-1.368955, -6.962010, 7.421907].行 93845: [243.352]mir3da ReportData_xyz[-1.493458, -3.887745, 7.364444].行 93849: [243.352]mir3da ReportData_xyz[-1.493458, -3.859014, 7.335713].行 93853: [243.352]mir3da ReportData_xyz[-1.483881, -3.830282, 7.306982].行 93857: [243.352]mir3da ReportData_xyz[-1.483881, -3.801551, 7.287827].行 93929: [243.361]mir3da ReportData_xyz[-1.455149, -3.782397, 7.239942].根据上述对加速度数据分析方法同样对地磁数据也做了分析发现地磁也有类似的问题于是又进一步对该问题进确认通过Qsensortest.apk 把加速度和地磁数据分别设置为200ms 和 50ms 发现加速度数据上报的速率也是混乱的和app设置的完全不匹配地磁则没有问题。于是根据推理可能是加速度问题导致地磁驱动数据上报速率混乱。验证方法交叉验证把sar 校准可以测pass 的手机的加速度芯片换到测测试fail的手机上验证多次测试发现可以测pass.但关于Failed to write wake lock handled这个报错仍然存在的测pass log 地磁数据上报速率大部分一直但也有不一致的。目前虽然sar 正常校准pass 了目前怀疑这个时间戳可能是Failed to write wake lock handled报错的原因已提case 给平台等待平台解答。

相关文章:

安卓wakelock 学习

目录 1, wakelock 是什么 2,如何使用wakelock 3, 安卓系统中使用wakelock 的实例 4, 实际项目中wakelock 遇到的问题 1, wakelock 是什么 Wake Lock是一种锁的机制,只要有人拿着这个锁,系统就无法进入休眠&…...

MySQL【表的约束上】

一、表的约束在 MySQL 数据库的使用过程中,我们会发现仅靠数据类型来限制字段远远不够 —— 数据类型的约束能力单一,无法从业务逻辑层面保证数据的正确性。比如要求用户表的邮箱字段唯一、订单表的用户 ID 必须关联存在的用户,这些需求都需要…...

CPS、CPA、CPL、CPC 是什么?联盟营销 4 大模式一次读懂

如果你正在研究联盟营销,却被各种名词绕得头大——CPS、CPA、CPL、CPC 到底是什么意思?差别在哪?什么时候该用?别急,这篇文章会用最简单的语言,在一分钟内让你彻底弄懂 4 大联盟营销模式,并教你…...

(104页PPT)DG1067全面企业绩效管理(附下载方式)

篇幅所限,本文只提供部分资料内容,完整资料请看下面链接 (104页PPT)DG1067全面企业绩效管理.pptx_IT运维服务质量评价体系资源-CSDN下载 资料解读:(104 页)DG1067 全面企业绩效管理 详细资料请…...

ZBlog 爆款主题宁静致远|1.6 万 + 下载、9.89 分、6 年更新,自媒体 / 资讯站首选主题

ZBlog爆款主题「宁静致远(Quietlee)」实测推荐!累计下载16141次,评分9.89/10,自2020年上线至今持续迭代近6年,适配Z-BlogPHP 1.7.0、PHP5.6及以上版本,是个人自媒体、资讯站、小型内容平台的建站…...

IT系统全生命周期管理和运营方案(Word)

1 项目总体概述1.1 项目背景1.2 蓝图架构1.3 核心业务流程1.4 系统总体架构1.5 系统业务模型流程1.6 实施阶段划分1.7 一阶段建设目标2 一阶段解决方案2.1 系统总体架构2.2 系统总体流程2.3 软件功能设计2.3.1 统一门户(含多租户、权限、用户、角色、菜单、授权管理…...

高通跃龙QCS9100平台上工业缺陷检测实战(1): 从摄像头到端侧推理的最小闭环

💡 前言 本系列将聚焦高通跃龙QCS9100平台实施工业缺陷检测。 本文第一篇我们在该QCS9100平台将缺陷检测链路完整跑通。 你跑完这篇,应该能看到两件非常具体的东西: runs/ 里不断冒出带框的图片终端里能看到每次推理大概多少毫秒、FPS 大概…...

论文党「反内耗」神器:Paperzz 把毕业论文初稿写成「开卷答题」,4 步搞定从 0 到成稿

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿paperzz - 毕业论文-AIGC论文检测-AI智能降重-ai智能写作https://www.paperzz.cc/dissertation 谁懂啊家人们!写毕业论文就像在玩「地狱级闯关游戏」:对着空白文档发呆半天写不出开头…...

2026 学术写作破局:Paperzz 如何用「四步闭环法」解决毕业论文初稿难产,让你 3 天写完合格初稿

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿paperzz - 毕业论文-AIGC论文检测-AI智能降重-ai智能写作https://www.paperzz.cc/dissertation 引言:被毕业论文初稿困住的年轻人,正在用一种更高效的方式毕业 2026 年,国…...

从选题到成稿零焦虑:Paperzz 毕业论文初稿写作,让学术创作告别 “卡壳式内耗”

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿paperzz - 毕业论文-AIGC论文检测-AI智能降重-ai智能写作https://www.paperzz.cc/dissertation 在毕业论文的漫长写作路上,你是否也陷入过这样的循环:对着空白文档发呆半天写不出开头…...

TMS320F2812光伏并网逆变器设计:高效MATLAB电路仿真与DSP代码实现结合方案,含...

TMS320F2812 光伏并网逆变器设计方案,附有相关的matlab电路文件,以及DSP的程序代码,方案、仿真文件、代码三者结合使用效果好,事半功倍。 备注:赠送逆变器并联环流matlab文件,基于矢量控制的环流抑制策略和下垂控制的环…...

鸿蒙中 应用的权限(一)

本文同步发表于我的微信公众号,微信搜索 程语新视界 即可关注,每个工作日都有文章更新 一、权限管控 什么是应用权限? 系统提供一种通用权限访问方式,允许应用访问系统资源(如通讯录)和系统能力&#xff…...

LabVIEW图像处理框架核心结构示意图

labview通用图像处理框架程序源码 详情见图做图像处理的朋友应该都经历过这种尴尬:写个Demo三分钟搞定,项目一复杂就变成意大利面条代码。今天分享的这套LabVIEW通用框架,核心就三句话——状态机打底、队列传数据、插件式开发。咱们直接扒开源…...

Pyrene-PEG-NH2 氨基功能化芘荧光PEG活细胞成像与示踪探针

芘丁酸酯聚乙二醇氨基(Pyrene-PEG-NH2)是一种结合了芘(Pyrene)、聚乙二醇(PEG)和氨基(NH2)的多功能化合物。【基本信息】中文名称:芘丁酸酯-聚乙二醇-氨基;芘…...

【智慧商城 | 项目笔记】第六天

前言:智慧商城项目是关于前端的Vue2的项目,本系列文章,我讲总结我从这个项目中学到的知识点,写项目笔记。如果你也在初学Vue或想巩固Vue相关的知识,希望这系列文章可以帮助到你。 【智慧商城 | 项目笔记】第六天今日完…...

高速多串激光泵浦二极管驱动电路:可扩展、高电流、高电压、多重安全保护电路架构参考

高速多串激光泵浦二极管驱动电路,可扩展, 连续电流可达25A,支持最高电压90V; 调制频率可达10kHz 多重安全保护电路; 可单独屏蔽故障电流串; 闭环控制,带电流输出; 电路架构是基于多年…...

西门子V15及以上版本通用模拟量处理程序块:1200与1500模拟量滤波程序及报警功能

西门子1200和1500通用模拟量处理程序块,模拟量滤波程序,程序块可方便直接调用,用于过滤峰值且可以方便调用模拟量高低报警。 博图版本V15及以上。工业现场模拟量信号处理总带着点玄学,尤其是车间里那些老设备,时不时给…...

【Python一周入门】学习笔记归纳(二)六大基本类型

文章目录数字(Number)字符串String列表List元组Tuple字典Dictionary集合Set推导式列表推导式字典推导式集合推导式元组推导式(生成器推导式)数字(Number) 数字类型是客观的不可变的,分为整型,浮点型&#…...

Linux(1)的基本使用

系统每次开机默认进入字符界面[rootnode11 ~]# systemctl set-default multi-user.target系统每次开机默认进入图形界面[rootnode11 ~]# systemctl set-default graphical.targetweb界面登录(很少用)[rootnode11 ~]# systemctl enable --now cockpit.soc…...

LatentMorph:将隐式潜空间推理融入图像生成

目录 一、前言 二、 LatentMorph 论文概述 核心问题 方法:LatentMorph 实验结果 核心贡献 三、四个组件是怎么运作的,输入输出是啥 四个组件详解 1. 视觉记忆凝结器 (Memory Condensers) 2. 强化学习驱动的推理调用器 (Reason Invoker) 3.…...

2000-2024年上市公司迪博内部控制指数评分及评级数据

迪博内部控制指数简介迪博内部控制指数(DIB内部控制指数)由深圳迪博企业风险管理技术有限公司发布,是国内权威的上市公司内部控制评价体系。该指数从内部控制五要素(控制环境、风险评估、控制活动、信息与沟通、内部监督&#xff…...

基于Matlab的不变矩算法实现数字验证码识别过程及其GUI界面构建

基于matlab不变矩算法实现数字验证码 过程:先对验证图像进行去噪、定位、归一化等预处理,然后计算待识别数字的不变矩,再进行特征匹配,得到识别结果。 以Matlab软件为开发平台来进行设计实现及仿真,并构建相应的GUI界面…...

M3U8 调试不用愁,这款在线播放工具帮你高效搞定

在音视频开发、流媒体运维的日常工作中,M3U8 格式的流验证与调试是高频需求,不管是验证直播流链路是否通畅,还是排查点播 M3U8 播放异常,都需要一款便捷的工具来支撑。而本地播放器配置繁琐、原生浏览器对 HLS 协议支持有限&#…...

一款轻量高效的 M3U8 在线播放工具,开发者调试必备

在音视频开发、流媒体测试的日常工作中,我们经常会遇到 M3U8 格式的视频流验证需求 —— 不管是检查直播流的可用性,还是调试点播链接的播放兼容性,都需要一个便捷的工具来快速验证。而原生 HTML5 的 video 标签对 HLS 协议支持有限&#xff…...

常见二进制漏洞原理及分析

本文将介绍常见二进制漏洞类型及避免方法。一.虚拟内存的布局Linux中进程使用虚拟内存,再由MMU转换成物理内存,其虚拟内存布局如下,其中堆区向高 地址生长,栈区向低地址生长,且代码段和rodata段为只读属性。栈区 …...

永磁同步电机伺服控制仿真:三环PI参数自整定Matlab模型探秘

永磁同步电机伺服控制仿真三环PI参数自整定 Matlab仿真模型 1.模型简介模型为永磁同步电机伺服控制仿真,采用 Matlab R2018a Simulink搭建。模型内主要包含DC直流电压源、三相逆变器、永磁同步电机、采样模块、SVPWM、Clark、Park、Ipark、位置环、速度环、电流环等…...

用 Copilot 一年后,我的代码质量变好了还是变差了?

01 从怀疑到离不开去年这个时候,GitHub Copilot 刚在我们小组里小范围开放试用。我当时的态度是不屑一顾的——一个 AI 能懂多少逻辑?代码补全不还是靠 IDE 的智能提示?况且我学了几年 Java,写过多少个项目,什么场景没…...

电网电压扰动下相光伏并网逆变器控制的Simulink仿真探索

电网电压扰动联系相光伏并网逆变器的控制 simukink仿真 电流闭环控制的逆变器并网 LCL 型输出滤波器 含有文档报告在光伏并网发电系统中,逆变器作为核心部件,其性能的优劣直接影响到电能质量和系统稳定性。而电网电压扰动是实际运行中不可避免的问题&am…...

内存涨价、供应不稳?嵌入式工程师必看:适合轻量级项目ARM选型与存储避坑指南

在嵌入式开发的圈子里,很多工程师都经历过这种“阵痛”: 原本用得好好的高性能单片机(MCU),随着项目需求的增加——要接个高分辨率屏、要做个复杂的协议转换、要跑个轻量级语音识别,或者要处理多路音频流—…...

高速追剪程序之定长追剪实战

高速追剪程序,定长追剪,威纶触摸屏汇川5u全套程序,注释清楚。最近搞了个高速追剪的项目,用的是威纶触摸屏搭配汇川5u的全套程序,今天来跟大家分享一下。 整体思路 高速追剪的核心目标就是在物料高速运动过程中&#xf…...