说明

不让应用持有wakelock锁,主要是注释掉请求锁和释放锁

实现

主要是在WakeLock的acquireLocked和release方法中注释掉请求和释放锁功能

diff --git a/frameworks/base/core/java/android/os/PowerManager.java b/frameworks/base/core/java/android/os/PowerManager.java
index 87b856d..4d077cf 100644
--- a/frameworks/base/core/java/android/os/PowerManager.java
+++ b/frameworks/base/core/java/android/os/PowerManager.java
@@ -1522,12 +1522,12 @@ public final class PowerManager {// been explicitly released by the keyguard.mHandler.removeCallbacks(mReleaser);Trace.asyncTraceBegin(Trace.TRACE_TAG_POWER, mTraceName, 0);
-                try {
+                /**try {mService.acquireWakeLock(mToken, mFlags, mTag, mPackageName, mWorkSource,mHistoryTag);} catch (RemoteException e) {throw e.rethrowFromSystemServer();
-                }
+                }*/mHeld = true;}}
@@ -1570,11 +1570,11 @@ public final class PowerManager {mHandler.removeCallbacks(mReleaser);if (mHeld) {Trace.asyncTraceEnd(Trace.TRACE_TAG_POWER, mTraceName, 0);
-                        try {
+                       /** try {mService.releaseWakeLock(mToken, flags);} catch (RemoteException e) {throw e.rethrowFromSystemServer();
-                        }
+                        }*/mHeld = false;}}

android P 不让应用持有WakeLock锁相关推荐

  1. 从Android应用层及Framework层的角度分析WakeLock锁机制

      从Android应用层及Framework层的角度分析WakeLock锁机制 本篇博客编写思路总结和关键点说明: 为了更加方便的读者阅读博客,通过导读思维图的形式将本博客的关键点列举出来,从而方便 ...

  2. Android 8.1 PowerManagerService分析(三)——WakeLock机制

    欢迎大家关注我的掘金帐号 我会在那里定期更新最新版本的Android Framework源码模块分析~~ 在Android 8.1 PowerManagerService分析(一)中,主要分析了PMS ...

  3. Android 唤醒屏幕的方式:屏幕锁 - WakeLock / FLAG_KEEP_SCREEN_ON

    Android 屏幕锁 - WakeLock PowerManager android.os.PowerManager PowerManager 是用来管理设备的电源状态的类.下面是官方文档 This ...

  4. Android工程师进阶第五课 多线程锁,线程池和DVM/ART优化

    第09讲:Java 线程优化 偏向锁,轻量级锁.重量级锁 我目前所在的公司是一家跨国企业,总部在瑞典.前段时间公司新开发的一个应用准备发布到应用宝平台.但是在发布之前,需要准备一系列软著相关的证明材料 ...

  5. linux为什么要禁止内核抢占,为什么linux在内核代码持有自旋锁后禁用内核抢占?...

    我是 Linux的新手,正在阅读Rubini& amp;的Linux设备驱动程序.科比特.我对一个与自旋锁相关的陈述感到困惑;这本书说明 If a nonpreemptive uniproce ...

  6. ADF开发遇到错误:JBO-26030 无法锁定记录,其他用户持有该锁

    在测试部署的ADF程序时,遇到以下报错:"无法锁定记录,其他用户持有该锁." 通过检查代码后发现,在代码的方法中,对相同的数据做了2次连续的commit操作.这样设计的原因是在方法 ...

  7. Android Device Administration 设备管理器——实现一键锁屏

    Android Device Administration 设备管理器--实现一键锁屏 最近研究了一下安全这一块的内容,当然,我是比较水的,所以也拿不出什么好知识点,但是有一些冷门的东西我还是可以聊聊 ...

  8. Android Studio 解决格式化快捷键和QQ 锁键盘快捷键冲突

    今天,简单讲讲android studio格式化的快捷键和qq快捷键之间的冲突的处理. 每次,当我打开QQ使用android studio格式化的快捷键Ctrl + Alt +L时,总是出现QQ 锁键 ...

  9. Android Systrace 基础知识(10) - Binder 和锁竞争解读

    本文是 Systrace 系列文章的第十篇,主要是对 Systrace 中的 Binder 和锁信息进行简单介绍,简单介绍了 Binder 的情况,介绍了 Systrace 中 Binder 通信的表 ...

最新文章

  1. 游戏的社交与延伸:怎样把玩家连结起来?
  2. sklearn集成学习概述
  3. 75. 颜色分类 golang
  4. 7-1 公路村村通 (30 分)
  5. Tornado与Django
  6. 卖爆了!华为Mate40天猫20秒售罄、京东11秒抢光
  7. 人民邮电报:区块链和工业互联网的融合 将产生叠加倍增效应
  8. PAT 乙级 1008. 数组元素循环右移问题 (20) Java版
  9. PAT甲级1017 (模拟排序)
  10. YaoLingJump开发者日志(四)
  11. NYOJ 1272:表达式求值(2016河南省ACM-A)
  12. QT之创建计算器(五)
  13. 微信热修复框架Tinker集成和使用,爬了很多坑后。带你成功跑通项目!
  14. 修正蹩脚的Scratch汉化
  15. java sencha_sencha编译出错
  16. flash 和 eeprom 区别和关系、nor flash和nand flash区别
  17. 2018Java阿里编程测验_2018阿里编程测验题:最短汉密尔顿回路
  18. linux卸载mysql(完全卸载)
  19. 11种dialogBox样式打包开源,逐一详解
  20. SGU133 Border

热门文章

  1. 学习HTML简单设计登录网页
  2. httpClient: fail to respond
  3. [Style Transfer]——Perceptual Losses for Real-Time Style Transfer and Super-Resolution
  4. 为什么Vue在国际上越来越没影响力?
  5. 先锋机器人3(Pioneer3)的基础操控
  6. 图灵奖得主Judea Pearl:最近值得一读的19篇因果推断论文
  7. 闲云控制台(一)控制台命令解析框架
  8. 【imessage】苹果推送软件安装vim使用自动网络let g:Powerline_colorscheme
  9. 真正高级的人生,都在努力做减法
  10. stat函数的使用说明