【架构分析】Android锁屏与Activity生命周期的变化

版权声明:本文为博主原创文章, 只要标明出处即可转载. https://blog.csdn.net/HaoBBNuanMM/article/details/64923520

概述

Android开机启动后默认会先进入锁屏然后灭屏休眠, 本文旨在介绍这个过程中最先启动的Home Launch Activity (其实在Android N上最早被启动的是Settings中的FallbackHome Activity) 如何发生相关的生命周期变化, 以及AMS hold wakeup lock和释放wakeup lock确保设备可以进入省电休眠状态

Framework分析

这里写图片描述

如上面的时序图所示1.1.1 步骤中AMS hold了mGoingToSleep这个wakeup lock 一旦1.1.1.1 checkReadyForSleepLocked的if (!mService.isSleepingOrShuttingDownLocked()) 条件检查失败,就会导致后续期望的Activity Pause生命周期调度没有发生, 进而使得整个流程中最后4.1.1中释放mGoingToSleep wakeup lock的回调没有来到

猜你喜欢

转载自blog.csdn.net/HaoBBNuanMM/article/details/64923520