PowerManagerService第五讲之常见问题

本文详细探讨了PowerManagerService中的唤醒和灭屏问题。针对唤醒问题,解析了按键唤醒的关键log点,包括从底层到上层的处理流程。灭屏问题分为长时间不能灭屏和未能及时灭屏,分析了可能的原因和解决策略。同时,介绍了如何修改屏幕最低亮度值以适应不同场景需求。
摘要由CSDN通过智能技术生成

1.唤醒问题

​ 通常按Power key去亮屏,会产生两种结果:一个是能亮起来,但是时间长;另一个是无法点亮。亮屏慢的问题更关注的是各个阶段的时间,找到哪一个时间最长后,进一步分析耗时长的阶段;无法亮屏的问题需要去确认是走到哪个阶段了。

​ 一般的流程上是:底层把power key传到上层 --> PowerManagerService处理 -->初始化keyguard/唤醒底层 --> 将亮度写到设备节点中。

A.按键唤醒关键log点

​ 按键唤醒流程的关键log点:

  1. kernel 上报power key(kernel log)

    <4>[250192.633301] .(4)[104:pmic_thread]LongPressReboot: Power Key generate, pressed=0

  2. 上层收到按键事件(system log)

    12-23 04:04:51.326 1080 1193 D WindowManager: interceptKeyTq keycode=26 …

  3. PMS的wakeUp被调用(system log)

    12-23 04:04:52.290 1080 1193 I PowerManagerService: Waking up from Asleep (uid=1000, reason=WAKE_REASON_POWER_BUTTON, details=android.policy:POWER)…

  4. 准备绘制界面(system log)

    12-23 04:05:30.439 1080 1123 I DisplayPowerController: Blocking screen on until initial contents have been drawn.

  5. 绘制界面完成及花费的时间(system log)

    12-23 04:37:13.242 1080 1123 I DisplayPowerController: Unblocked screen on after 87 ms

  6. 上层设置背光(system log)

    12-23 04:43:23.758 1080 1123 D DisplayPowerState: Requesting new screen state: state=ON, backlight=211

  7. 亮屏操作完成(system log)

    12-23 04:49:33.123 1080 1123 D DisplayPowerController: Finished business…

如果某条log没有找到,那么按键亮屏不亮屏的原因就出在那里</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值