《Activity的启动》备份

225 阅读1分钟

问题1:Activity是如何显示到界面上的?

分解问题

  • Activity的是如何创建的?

Activity的创建

Activity通过onCreate开始生命周期,通过onDestory结束生命周期。

zygote在响应创建进程请求后会fork一个子进程,这个子进程就是App对应的进程,该进程的入口函数位于ActivityThread类的main函数。main函数主要是为了创建主线程的消息队列

public static void main(String[] args) {
    ...
    Looper.prepareMainLooper();
    Looper.loop();
    ...
}

ActivityThread中handleLanunchActivity函数就是创建Activity的地方

//创建Activity
final Activity a = performLaunchActivity(r, customIntent);