电视遥控器,短端走待机(str待机)流程, 长按是关机,走关机流程,记录下待机流程。

参考博客

待机流程

Android P引入自动待机功能,只有存在WakeLock,wakeup_count就不会为0,每次acquire wake_lock会让wakeup_count加1,而release wake_lock会让wakeup_count减1,当wakeup_count为0则autosuspend会重新待机下去

相关代码

frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java

hardware/interfaces/power/1.0/default/Power.cpp

hardware/realtek/power/power.cpp

hardware/realtek/power/power.cpp

代码流程

goToSleepInternal()

-->goToSleepNoUpdateLocked()

-->setWakefulnessLocked(WAKEFULNESS_DOZING);

updatePowerStateLocked()

--> updateDisplayPowerStateLocked() //关闭屏幕

--> updateDreamLocked() //更新屏保状态

--> finishWakefulnessChangeIfNeededLocked()

-->mNotifier.onWakefulnessChangeFinished() //通知AMS, WMS系统状态改变。

--> updateSuspendBlockerLocked()

reallyGoToSleepNoUpdateLocked() //更新屏保状态,发现是DOZE状态后,会调用这个接口。

--> setWakefulnessLocked(WAKEFULNESS_ASLEEP)

updatePowerStateLocked()

--> updateDisplayPowerStateLocked()

--> updateDreamLocked()

--> finishWakefulnessChangeIfNeededLocked()

-->mNotifier.onWakefulnessChangeFinished() //通知AMS, WMS系统状态改变。

--> updateSuspendBlockerLocked() //释放系统锁,进入待机。

-->setHalAutoSuspendModeLocked()

android p待机流程.png

待机唤醒

唤醒支持不同的唤醒源,网络待机唤醒,Power按键唤醒,CEC唤醒等,部分流程有抽象和实际可能会有差异。

android p唤醒.png

待机时候应用处理

蓝牙,WiFi,媒体中心等模块在待机的时候,如果需要释放资源,可以先获取并持有wakelock,等释放完资源后在释放wakelock。

android系统自动休眠代码流程,Android P 电源管理(4)待机流程相关推荐

  1. android系统自动休眠代码流程,一种基于Android系统下的可控休眠方法及系统与流程...

    本发明涉及一种手机应用,尤其涉及一种基于android系统下的可控休眠方法及系统. 背景技术: android设备的休眠指的是当长时间不用手机时手机会自动进入一个省电模式,调低或者关闭一部分电压的输出 ...

  2. 深入Android系统(十二)Android图形显示系统-2-SurfaceFlinger与图像输出

    最近有些忙,切实体验了一把拖更的羞耻感 ( *︾▽︾) 本文和上一篇深入Android系统(十二)Android图形显示系统-1-显示原理与Surface关系比较密切,撸完前篇更易理解本文啦 (๑‾ ...

  3. Android系统自带样式(android:theme)(转)

    Android系统自带样式(android:theme)(转) android:theme="@android:style/Theme.Dialog" : Activity显示为对 ...

  4. java数字时钟代码,Android自定义数字时钟代码,android自定义时钟,package jp.t

    Android自定义数字时钟代码,android自定义时钟,package jp.tpackage jp.tsmsogn.digitalclock;import java.util.Calendar; ...

  5. 处理win10系统自动休眠bug

    最近有win10系统用户遇到一个很棘手的问题,明明已经禁止了睡眠,设置从不关闭显示器,从不进入睡眠,只要不动鼠标,还是会在2分钟或3分钟自动进入睡眠状态,很是麻烦.如果遇到win10系统自动休眠bug ...

  6. pc使用android,如何在电脑上使用Android系统在PC上玩玩Android游戏

    由于很多原因,搭载Windows及Android双系统的产品一直没有大规模上市,而类似华硕Transformer Book Trio这样的双系统产品价格则高达万元.那么,如果你想体验一下Android ...

  7. Android 系统自动重启Bug(高通平台)

    点击打开链接 最近客户反馈了一个Bug,我们的系统用着用着会自动重启,尤其是在拨号的时候极容易死机或者进入下载模式.根据老大和高通的支持得到了一个解决方案. 在Android系统中,有这么一个文件夹: ...

  8. android系统自动构建,[系统集成] Android 自动构建系统

    一.简介 android app 自动构建服务器用于自动下载app代码.自动打包.发布,要建立这样的服务器,关键要解决以下几个问题: 1. android app 自动化打包 android 的打包一 ...

  9. Android 系统(78)---《android framework常用api源码分析》之 app应用安装流程

    <android framework常用api源码分析>之 app应用安装流程 <android framework常用api源码分析>android生态在中国已经发展非常庞大 ...

最新文章

  1. NLP技术落地为何这么难?里面有哪些坑?
  2. 第三章 达瑞,一个很能挣钱的男孩
  3. hadoop定位文件读取
  4. 透过现象看本质-使用vs.net第二天
  5. Java AOP研究之@Aspect注解的工作原理
  6. C/C++混淆点-字符串指针
  7. 应“云”而生--云时代的运维新理念
  8. python tensorflow教程_TensorFlow入门教程
  9. Django中的prefetch_related()函数优化
  10. 多边形面积的求法(已知每个点的坐标)hdu2036
  11. 上海富勒wms_【3PL | 多家三方物流应用富勒WMS,仓配一体助力供应链升级】
  12. RADIUS协议解析
  13. 关于jq22.com网站访问不了的问题
  14. 揭秘:客服如何创造价值和自我超越
  15. qt 合并单元格 tablewidget 合并单元格
  16. UE/蓝图 VR高级框架(AdvancedFrameworkVR4.1) 使用前的简单设置
  17. 灌注和宝石性道法价比分析
  18. (附源码)springboot电影院售票与管理系统 毕业设计 011449
  19. hazy的leetcode刷题笔记(一)
  20. 根据经纬度定位百度地图(带图片的)

热门文章

  1. 使用Microsoft EnterpriseLibrary(微软企业库)日志组件把系统日志写入数据库和xml文件...
  2. 视频转为flv和图片
  3. 为什么C语言仍然占据统治地位?
  4. 微服务面试必问的Dubbo,这么详细还怕自己找不到工作?
  5. 蚂蚁科技 Service Mesh 落地实践与挑战 | GIAC 实录
  6. 钉钉崩,钉钉崩,钉钉崩完QQ群崩...
  7. JEECG第16期架构培训班15号开班,每期只有10个名额!想报名的同学速度啦!
  8. hadoop--日志聚集功能的配置
  9. SqlServer动态表查询
  10. MySQL基础(一)介绍和配置