Activity启动流程

2019-12-17  本文已影响0人  couriravant
image

Instrumentation来辅助启动Activity,ActivityManager通过binder调用AMS的方法,解析一些参数,包括:意图是显示的还是隐士的,包类名信息等,启动WindowManager处理动画等 ,将第一个Activity暂停,启动第二个Activity,调用binder线程池中的ApplicationThread(binder类,运行在app中的binder线程池中,也就是一个非主线程),通过handler回到ActivityThread主线程,通过classLoader来创建该Activity的实例,attach中创建window对象(PhoneWindow),然后在mInstrumentation.callActivityOnCreate()来启动Activity,OnCreate中会通过setContent,创建DecorView, 然后通过LayoutInflater加载xml布局,将布局view add到 decorView上, 最后在Activity onResume的时候,会通过WindowManager添加decorView到window,并设置为VISIABLE。
接下来还有 activity.performStart(),handleResumeActivity ();

https://www.cnblogs.com/mingfeng002/p/10323668.html

上一篇下一篇

猜你喜欢

热点阅读