activity的启动流程
时间: 2023-10-25 15:26:28 浏览: 161
分析Android Activity的启动过程
Activity的启动流程分为两种情况。一种是启动正在运行的app的Activity,即启动子Activity。这种情况下,默认情况下和启动该Activity的Activity处于同一进程。如果有声明在一个新的进程中,则处于两个进程。另一种情况是打开新的app,即为Launcher启动新的Activity。这两种情况的流程大致相同,区别在于判断进程是否存在的那部分。
启动Activity的流程主要包括以下几个阶段:
1. 检查Activity所在进程是否存在。如果存在,直接通知该进程,在该进程中启动Activity。
2. 如果进程不存在,则调用Process.start创建一个新进程(执行在AMS进程)。新的进程会导入ActivityThread类,并执行它的main函数。
3. 存在的话,发送消息LAUNCH_ACTIVITY给需要启动的Activity主线程,执行handleLaunchActivity。
总结起来,Activity的启动流程包括判断进程是否存在、创建新进程(如果需要)、发送消息给Activity主线程。这些步骤一起完成了Activity的启动过程。
阅读全文