![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android 系统开机启动流程
文章平均质量分 76
Kbattery
这个作者很懒,什么都没留下…
展开
-
Android11 以Window的视角来看FallbackHome的启动
所以经过以上的调用流程,创建了一个home Task,其实home Task就是ActivityStack对象,然后挂载到DefaultTaskDisplayArea下。注释1处,parent为前面创建的FallbackHome Task,mStartActivity为前面创建的ActivityRecord,将ActivityRecord设置为FallbackHome Task的孩子。注释1处创建FallbackHome Task,mTargetStack为前面创建的home Task。原创 2024-06-17 13:55:08 · 857 阅读 · 1 评论 -
Android 锁屏界面启动流程
在 doKeyguardLocked 方法中,经过一系列的判断,决定是否需要显示锁屏界面,如果需要显示,则调用showLocked 方法去显示锁屏界面。前面已经将 mKeyguardState.systemIsReady 置为true 了,所以这里会调用 KeyguardServiceWrapper 的 onSystemReady方法, 最终 调用KeyguardViewMediator 的 onSystemReady 方法。进而调用PhoneWindowManager的systemReady方法。原创 2024-03-19 18:09:55 · 1139 阅读 · 0 评论 -
Amdroid 11 Launcher 启动流程
看堆栈,FallbackHome在pause的时候,引起Launcher3的启动,调用到ActivityStackSupervisor的startSpecificActivity方法,后面的启动流程就和FallbackHome的启动一致了,具体参考。在FallbackHome退出之后,这时候就要启动我们的Launcher了。值得注意的是Launcher并不是从AMS的systemReady方法中启动,而是在FallbackHome 执行 pause的时候调用。可以从调用堆栈里看出。原创 2024-03-14 18:32:36 · 447 阅读 · 0 评论 -
Android11 FallbackHome启动和关闭流程分析
本文简单的介绍了FallbackHome启动和关闭的代码调用流程。启动流程主要分为以下几步Systemserver进程通过socket,通知Zygote创建新进程新进程创建成功,新进程通知Systemserver可以启动FallbackHomeSystemserver通知FallbackHome,执行其生命周期FallbackHome退出的话,是接收到ACTION_USER_UNLOCKED广播,判断是否解锁并且查找到的Launcher不是自己时,就退出自己。原创 2024-03-14 15:12:08 · 3220 阅读 · 0 评论 -
Android 11 SystemServer启动流程
调用gCurRuntime的onZygoteInit函数,gCurRuntime是AppRuntime对象(AppRuntime继承自AndroidRuntime,在app_main.cpp的main函数中初始化),在onZygoteInit 函数中开启线程池。有提到,Zygote通过forkSystemServer,fork出SystemServer进程,并在SystemServer进程中调用handleSystemServerProcess 返回一个 Runnable。run方法中主要完成以下工作。原创 2024-03-12 18:30:15 · 1373 阅读 · 0 评论 -
Android 11 Zygote启动流程
system/bin/app_process是由frameworks\base\cmds\app_process\app_main.cpp 编译得到的,所以执行 /system/bin/app_process 就是执行app_main.cpp 的main函数。有事件请求,调用processOneCommand,如果是创建子进程的请求,就创建子进程,并在子进程中返回一个Runnable,供ZygoteInit去启动子进程(注意:父进程即Zygote还是在运行,并不会返回退出)原创 2024-03-12 16:16:23 · 1183 阅读 · 0 评论 -
Android 11 解决开机动画到Launcher黑屏问题
Android 是先启动FallbackHome,再启动Launcher,就导致了在Launcher启动之前,开机动画就退出了,产生黑屏现象。原创 2024-03-11 19:34:06 · 1074 阅读 · 0 评论 -
Android11开机动画退出流程分析
其中 EXIT_PROP_NAME为 service.bootanim.exit,当检测到该属性的值不为0时,就调用 requestExit 退出动画。在所有的windows都绘制完成之后,发送MSG_WINDOW_MANAGER_DRAWN_COMPLETE消息,最终调用到finishScreenTurningOn。进而调用到ActivityTaskManagerService的activityIdle函数中,调用栈如下。通过一步步的调用,最终调用到postFinishBooting,调用信息如下。原创 2024-03-11 18:34:08 · 716 阅读 · 0 评论 -
Android 11 开机动画启动流程分析
bootanim是在SurfarceFlinger进程中启动原创 2024-03-11 12:14:51 · 782 阅读 · 0 评论