startActivity启动流程
时间: 2024-05-16 20:18:57 浏览: 89
Activity启动流程
startActivity 是 Android 开发中用于启动一个新的 Activity 的方法。它的启动流程如下:
1. 首先,调用 startActivity 方法会将 Intent 对象传递给系统的 ActivityManager。
2. ActivityManager 根据 Intent 中包含的组件信息(包名、类名)来查找要启动的目标 Activity。
3. 如果目标 Activity 已经存在(比如位于任务栈中),则会将其从后台调至前台,并调用其 onNewIntent 方法。
4. 如果目标 Activity 不存在,则会创建一个新的 Activity 实例,并将其添加到任务栈中。
5. 系统会通过调用目标 Activity 的 onCreate、onStart 和 onResume 方法,依次完成 Activity 的初始化和展示过程。
6. 同时,系统还会调用前一个 Activity 的 onPause 方法,将其暂停并隐藏到后台。
需要注意的是,Activity 的启动模式(例如 standard、singleTop、singleTask、singleInstance)以及 Intent 的标志(例如 FLAG_ACTIVITY_NEW_TASK)都会对启动流程产生影响。此外,还有其他一些细节和异常情况,但以上是通常的 startActivity 启动流程。
阅读全文