欢迎光临
我们一直在努力

【Android Framework】首次开机锁屏后不到2秒就休眠:RestartDozeListener残留状态导致异常快速灭屏的根因与修复

文章目录

  • 【Android Framework】首次开机锁屏后不到2秒就休眠:RestartDozeListener残留状态导致异常快速灭屏的根因与修复(restart_nap_after_start)
    • 导入语
    • 1 ~> 相关 log 分析
      • 1.1 问题现象
      • 1.2 关键线索
    • 2 ~> 代码分析:RestartDozeListener 的完整逻辑
      • 2.1 RestartDozeListener.kt 源码
      • 2.2 核心逻辑拆解
      • 2.3 异常复现时的 log 分析
      • 2.4 Settings 读取链路
    • 3 ~> 根因总结
    • 4 ~> 解决方案
      • 修改 RestartDozeListener.kt 的 init() 方法
      • 原理
      • 注意事项
    • 思考 && 总结
    • 结尾

【Android Framework】首次开机锁屏后不到2秒就休眠:RestartDozeListener残留状态导致异常快速灭屏的根因与修复(restart_nap_after_start)

📖 文章简介: 本文记录了一次首次开机后锁屏到休眠时间异常短(不到2秒,预期15秒)的完整排查过程。通过log分析定位到SystemUI中的RestartDozeListener机制在首次开机时触发了powerManager.goToSleep(),导致屏幕被异常快速熄灭。文章深入拆解了RestartDozeListener.kt的完整源码逻辑、restart_nap_after_start这个Settings键值的读写流程、以及storeSleepState()/maybeRestartSleep()的触发时序,最终给出init()中重置键值为false的修复方案。适合做Android Framework电源管理、SystemUI doze机制或开机性能优化的工程师参考。


在这里插入图片描述

赞(0)
未经允许不得转载:171主机测评 » 【Android Framework】首次开机锁屏后不到2秒就休眠:RestartDozeListener残留状态导致异常快速灭屏的根因与修复
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址