亮灭屏问题一直是Android模块最常见的问题之一。
由于问题出现问题的地方涉及到公司代码,我这里仅仅只作原生代码模块的分析
其实在看过另外一篇关于android亮屏流程的文章就会发现,影响亮屏快慢的因素大致有三种:1.设置背光流程出问题了,导致屏幕黑屏,2.window绘制时间过长,导致屏幕block时间过长;3.底层surfacecontroller准备时间过长。
而根据遇到的亮屏慢的问题,基本上都是由于window绘制时间过长,导致屏幕亮屏慢
最近处理的几个亮屏慢的问题,其中关键log信息基本都是:
10-28 09:02:59.002 1393 1462 I DisplayPowerController: Blocking screen on until initial contents have been drawn.
10-28 09:03:05.020 1393 1462 I DisplayPowerController: Unblocked screen on after 6018 ms