Activity启动二

    技术2024-11-14  22

    1、开始处理让目标activity进入onResume生命周期的事宜

    2、目标activity要启动前先让启动者进入onPause状态

    3、通过进程间通信调用client端让启动者onPause

    4、上图调用点是

    4、mH既然是handler,已经分析过sendMessage最终会调用到

    5、activity进入调用onPause生命周期

    6、看到这不难看出activity的生命周期调用都是通过 mH这个对象放入其对应的消息队列处理

    7、启动activity进入onPause后,目标activity则开始加载知道进入onResume生命周期,如果是拉起新的应用,自然要先启动application下面看下application生成过程

    8、由于application未生成,故进入下面的代码分支

    9、通过AMS调用启动进程的方法

    10、Process类

    11、zygote对象

    12、通过socket连接zygote进程,让其孵化目标进程

    13、数据写入后,zygote进程就会孵化目标进程,然后调用 ActivityThread方法中的main方法,程序的真正入口浮现

    详情请看https://blog.csdn.net/u012267215/article/details/91406211

    14、ActivityThread中的main方法

    15、attach方法

    16、AMS中的attachApplication

    17、ActivityThread中mAppThread开始绑定application

    18、绑定Application方法

    19、加载程序的ClassLoader和Context的实现类ContextImpl

    20、初始化application

    21、Application的onCreate生命周期

    Processed: 0.010, SQL: 9