1.唤醒问题
通常按Power key去亮屏,会产生两种结果:一个是能亮起来,但是时间长;另一个是无法点亮。亮屏慢的问题更关注的是各个阶段的时间,找到哪一个时间最长后,进一步分析耗时长的阶段;无法亮屏的问题需要去确认是走到哪个阶段了。
一般的流程上是:底层把power key传到上层 --> PowerManagerService处理 -->初始化keyguard/唤醒底层 --> 将亮度写到设备节点中。
A.按键唤醒关键log点
按键唤醒流程的关键log点:
-
kernel 上报power key(kernel log)
<4>[250192.633301] .(4)[104:pmic_thread]LongPressReboot: Power Key generate, pressed=0
-
上层收到按键事件(system log)
12-23 04:04:51.326 1080 1193 D WindowManager: interceptKeyTq keycode=26 …
-
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)…
-
准备绘制界面(system log)
12-23 04:05:30.439 1080 1123 I DisplayPowerController: Blocking screen on until initial contents have been drawn.
-
绘制界面完成及花费的时间(system log)
12-23 04:37:13.242 1080 1123 I DisplayPowerController: Unblocked screen on after 87 ms
-
上层设置背光(system log)
12-23 04:43:23.758 1080 1123 D DisplayPowerState: Requesting new screen state: state=ON, backlight=211
-
亮屏操作完成(system log)
12-23 04:49:33.123 1080 1123 D DisplayPowerController: Finished business…
如果某条log没有找到,那么按键亮屏不亮屏的原因就出在那里</