android waklock锁阻止休眠调试

news2024/12/22 20:51:12

上层wakelock 锁获取

 adb shell dumpsys power
 
Looper state:
  Looper (PowerManagerService, tid 30) {aabc9c2}
    Message 0: { when=+42s654ms what=4 target=com.android.server.power.PowerManagerService$PowerManagerHandler }
    Message 1: { when=+9m39s94ms what=1 target=com.android.server.power.PowerManagerService$PowerManagerHandler }
    (Total messages: 2, polling=true, quitting=false)

Wake Locks: size=1
  PARTIAL_WAKE_LOCK              '*alarm*' ACQ=-1s541ms (uid=1000 pid=29334 ws=WorkSource{10033})

Suspend Blockers: size=4
  PowerManagerService.WakeLocks: ref count=1
  PowerManagerService.Display: ref count=1
  PowerManagerService.Broadcasts: ref count=0
  PowerManagerService.WirelessChargerDetector: ref count=0

Display Power: state=ON

如何去除上层java wakelock

   private void acquireWakeLockInternal(IBinder lock, int flags, String tag, String packageName,
            WorkSource ws, String historyTag, int uid, int pid) {
        //add this line
        if (true) return;
        synchronized (mLock) {
            if (DEBUG_SPEW) {
                Slog.d(TAG, "acquireWakeLockInternal: lock=" + Objects.hashCode(lock)
                        + ", flags=0x" + Integer.toHexString(flags)
                        + ", tag=\"" + tag + "\", ws=" + ws + ", uid=" + uid + ", pid=" + pid);
            }

            WakeLock wakeLock;
            int index = findWakeLockIndexLocked(lock);
            boolean notifyAcquire;

在PowerManagerService.java 函数acquireWakeLockInternal 中添加
if (true) return;
可以去除上层java锁。

如何去除cpp c java wakelock

在这里插入图片描述
尝试在system/core suspend 模块去除。

kernel wakelock 锁获取

cat /sys/kernel/debug/wakeup_sources
在这里插入图片描述

部分串口调试指令

echo "peripheral" > /sys/devices/platform/soc/4e00000.ssusb/mode //devices模式,不会休眠
echo 1 >/proc/sysrq-trigger                                       //串口等级1
cat /sys/power/system_sleep/stats                                //查看rpm是否进低功耗模式
cat /d/rpm_master_stats                                           //查看哪个子系统是否休眠
echo 1 > /d/clk/debug_suspend && echo 1 > /sys/module/msm_show_resume_irq/parameters/debug_mask && echo 8 > /proc/sys/kernel/printk  //打开时钟调试,中断调试,串口等级最大
echo "host" > /sys/devices/platform/soc/4e00000.ssusb/mode        //host模式,会休眠

nohup logcat -v time > /data/local/tmp/logcat.txt &                  //将logcat日志打到后台

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

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

相关文章

一种通用的业务监控触发方案设计 | 京东云技术团队

一、背景 业务监控是指通过技术手段监控业务代码执行的最终结果或者状态是否符合预期,实现业务监控主要分成两步:一、在业务系统中选择节点发送消息触发业务监控;二、系统在接收到mq消息或者定时任务调度时,根据消息中或者任务中…

【Python Matplotlib】零基础也能轻松掌握的学习路线与参考资料

Python Matplotlib是一个流行的数据可视化工具,可以帮助数据科学家和分析师更好地理解数据。本文将介绍Python Matplotlib的学习路线,参考资料和优秀实践。 文章目录 一、Python Matplotlib的学习路线二、Python Matplotlib参考资料三、Python Matplotl…

ChatGPT的使用体验及教程

ChatGPT对社会带来了什么影响? ChatGPT的出现对社会产生了广泛的影响,主要体现在以下几个方面: ① 提升了人工智能领域的发展水平:ChatGPT在最初发布时获得了广泛的关注,并受到了人工智能领域专家和研究者的高度评价。…

OpenGL实战-调试

glGetError() OpenGL文档,可以查询函数出现的错误的对应原因。  默认情况下glGetError只会打印错误数字,如果你不去记忆的话会非常难以理解。通常我们会写一个助手函数来简便地打印出错误字符串以及错误检测函数调用的位置。 GLenum glCheckError_(co…

SpringBoot——RESTful风格以及如何快速发送不同方式的请求

RESTful风格: 简单来说,RESTful就是一种将请求方式融合到路径中的一种请求路径书写风格,注意这里是风格,不是规定,我们也可以不使用他或者不是非常严格的按照他规定的样式来写,但是由于行业中大多数的人在…

Boost电路的参数设计

本文以实例方式介绍Boost电路的参数设计方法。项目需求:12V升压至50V,功率35W。 先看示例电路图,如下图所示。 在进行具体的参数计算之前,我们先简要的分析一下Boost电路的工作原理。 1、我们假设,C3和C4的容值相对于负…

发挥数据潜能,为在金融服务行业进行创新做好准备

发挥数据潜能,为在金融服务行业进行创新做好准备 为何选择 NetApp 的金融服务? 作为云专家,我们将确保始终适时适地提供财务数据,以推动转型。我们将消除数据孤岛,提供实时的市场就绪分析,借助经验证的 AI…

易基因:多组学关联分析及组学分子实验验证方法(表观组+转录组+微生物组)|干货系列

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 生物过程具有复杂性和整体性,单组学数据难以系统全面解析复杂生理过程的分子调控机制。而多组学(Multi-omics)联合分析可同时实现从“因”和“果”两个…

Cartographer源码阅读---后端优化思路

Cartographer的后端优化是借用SPA(Sparse Pose Adjustment)优化算法的思想. 其主要步骤如下: 确定两个节点在global坐标系下的相对位姿变换.通过其它方式再次获取这两个节点的相对位姿变化对这两个相对位姿变换的差的最小二乘问题进行求解进行求解后得到…

nifi DBCPconnectpool 连接oracle 死链接

nifi DBCPconnectpool 连接oracle 死链接 问题展示问题解决后言官网中文网Groovy脚本学习 问题展示 原因,nifi 连接oracle因为网络波动出现死链接,我的数据同步停止于前一天晚上一点半左右,因为最近一致出现这个问题,综合判断之下…

SAP HUM 嵌套HU初探 II (TCODE:POP1, POF1,HU03) <转载>

SAP HUM 嵌套HU初探 II 这里以物料号ZFG0003为例,做一个阐述。 1,维护好包装指令主数据(POP1/POP2/POP3) 包装指令ZFG0003A 包装指令ZFG0003B 然后维护好PI 确定记录主数据(POF1/POF2/POF3) 2, COR1/…

老域名挖掘方法-网站老域名批量查询

老域名挖掘方法 老域名对于SEO优化非常重要,可以提高网站的排名和曝光度。因此,很多SEO从业者会使用专门的老域名挖掘工具来挖掘高质量的老域名。以下介绍一种常用且有效的老域名挖掘方法,以及推荐一款优秀的老域名挖掘工具——147SEO老域名…

饿了么在即时零售的胜算

平台商家越多,消费者的选择就会越多,然后就会吸引更多的消费者来消费。与此同时,平台商家越多,平台订单量就会越多,相应的骑手的订单配送响应时效就越快,然后还会吸引更多的商家入驻。如此循环,…

Rust每日一练(leetDay0001) 两数之和、两数相加、最长子串

目录 1. 两数之和 Two Sum 🌟 2. 两数相加 Add Two Numbers 🌟🌟 3. 无重复字符的最长子串 Longest substring without repeating characters 🌟🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练…

如何在Windows11下开启IE浏览器

在Windows11下开启IE浏览器 Microsoft 发布 Windows 11 之后,系统使用基于 Chromium 内核的 Edge 浏览器来代替被人唾骂已久的 IE 浏览器,IE 浏览器入口也已经被屏蔽掉了。通过任何常规方式打开 IE 浏览器都会自动使用 Edge 浏览器打开。 最新消息&…

语音与语言处理技术交流会(深圳)

嘉宾介绍 嘉宾介绍:罗艺,2021年在美国哥伦比亚大学获得博士学位后加入腾讯AI Lab Shenzhen任高级研究员,研究方向主要为音频前端处理,包括但不限于音频分离、单/多通道语音增强等。 报告题目:腾讯AI Lab音频与语音前端…

网站备案:阿里云ICP备案服务码是什么?申请流程来了

阿里云备案服务码是什么?ICP备案服务码怎么获取?阿里云备案服务码分为免费和付费两种,申请备案服务码是有限制条件的,需要你的阿里云账号下有可用于申请备案服务码的云产品,如云服务器、建站产品、虚拟主机等&#xff…

关于扇区、簇、块、页等概念的区分

1、什么是扇区和(磁盘)块? 物理层面:一个磁盘按层次分为 : 磁盘组合 -> 单个磁盘 -> 某一盘面 (platter)-> 某一磁道 (track)-> 某一扇区(secto…

未针对内部单位 D 的语言 ZH 定义任何语言特定的单位

在写ABAP程序的时候调用功能函数或者调用BDC的时候会要求输入单位。当我们正常输入单位后调用函数就会报错 提示:未针对内部单位 ** 的语言 ZH 定义任何语言特定的单位。但是我们检查表T006和T006A两个后台表的时候, 发现单位在两个表中都存在&#xff0…

vue通过sync标识符 在子组件中更便捷的修改父组件的值

这里 我们创了一个vue2 项目 根组件 App.vue参考代码如下 <template><div><span>{{ name }}</span><text-data :name "name" /></div> </template><script> import textData from "/components/textData&quo…