1 Activity的启动流程
此问题涉及三点:a启动activity会经历哪些生命周期回调 b冷启动涉及哪些流程,涉及哪些组件,通信过程是怎样的 c Activity启动过程中,生命周期回调的原理
a 在应用端activity启动的几个步骤: 1首先在classLoader中加载apk里的activity类,然后生成一个acticity对象 2准备好Application,不是指创建Application,Application在应用进程启动的时候已经创建好了,是指使用创建好的Application 3 创建contexImpl 4attatch上下文,上下文不光指context,还有跟activity运行有关的重要的变量 5生命周期回调
b activity启动过程及其涉及的组件的通信 1通过Binder向AMS发起startActivity请求后,AMS会向Zygote发起启动进程的请求 2 Zygote启动应用进程 3 应用进程向AMS发送attachApplication,注册应用进程里的ApplicationThread 4 AMS向应用进程发送bindApplication调用,主要用来给应用初始化Application,5 然后又向应用进程发送sheduleLaunchActivity,给应用加载和创建activity,并且执行activity生命周期
网友评论