AMS系列- 应用启动流程
2021/8/6 23:08:24
本文主要是介绍AMS系列- 应用启动流程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
上一篇 ams启动流程
概述
- Launcher点击应用图标:
- binder进入ATMS,为应用第一个act创建ActivityRecord,找到其ActivityStack,将ActivityRecord插入到所在TaskRecord的合位置,最后执行ActivityManagerInternal::startProcess
- 进入AMS,请求创建应用进程:这个过程创建了ProcessRecord对象,并处理保存了进程所需各种信息,最后通过Process.start()请求创建应用进程
- Zygote创建应用进程,通过socket与zygote进程通信,fork出应用进程
- 应用进程主线程-执行ActivityThread的main():在应用主线程中,执行ActivityThread的main
- 进入系统进程,绑定应用进程,创建应用Application,将应用进程绑定到ATMS中,由他们管理
- 回到应用进程,创建应用第一个Activity,执行了attach() 和onCreate()
注:AMS和ATMS服务都是在系统进程-system server进程中。
所以,整个过程 进程变化是:Launcher进程(binder)->systemserver进程(socket)->zygote进程(socket)->应用进程(binder)->systemserver进程(binder)->应用进程
这篇关于AMS系列- 应用启动流程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南