失效链接处理 |
2021年度大厂Android高级开发面试题以及完整答案整理 下载
本站整理下载:
相关截图:
主要内容:
启动流程:
点击桌面App图标,Launcher进程采用Binder IPC向system_server进程发起startActivity请求;
system_server进程接收到请求后,向zygote进程发送创建进程的请求;
Zygote进程fork出新的子进程,即App进程;
App进程,通过Binder IPC向sytem_server进程发起attachApplication请求;
system_server进程在收到请求后,进行一系列准备工作后,再通过binder IPC向App进 程发送
scheduleLaunchActivity请求;
App进程的binder线程(ApplicationThread)在收到请求后,通过handler向主线程发送LAUNCH_ACTIVITY消
息;
主线程在收到Message后,通过发射机制创建目标Activity,并回调Activity.onCreate()等方法。
Activity进程内启动
请求进程A:startActivity—(hook插入点1) (AMP,ActivityManager代理对象)——> system_server进程:
AMS(ActivityManagerService)
解析Activity信息、处理启动参数、scheduleLaunchActivity/mH中EXECUTE_TRANSACTION消息处理(Android
P)-->
回到请求进程A:ApplicationThread --> ActivityThread -(hook插入点2)-> Activity生命周期
|