1.点击桌面图标,Launcher进程将activity启动的请求以binder的方式发送给AMS
2.ams接收到启动请求,交个activityStarter处理Intent和flag等信息,再交给ActivityStack
3.以socket方式请求Zygote进程fork新进程
4.Zygote接收到新进程创建请求之后fork出新进程,
5在新进程中创建ActivityThread对象,新创建的进程就是应用的主线程,主线程中开启Looper消息循环,开始处理activity,
6.activityThread利用classLoader去加载activity,创建activity的实例,并且回调activity的oncreate方法,这样就完成了actity的启动
Activity启动流程
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 1.Activity启动流程 (7.0版本之前) 从startActivity()开始,最终都会调用startAc...