You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android生命周期中谁调用OnCreate()方法?其调用流程是怎样的?

Android中onCreate()方法的调用流程详解

整体触发链路

当用户点击应用图标、系统唤起Activity(如从后台恢复)时,调用流程从系统服务层逐层传递到应用层:

  • 系统侧的ActivityManagerService(AMS) 通过Binder跨进程通信,向应用进程的ActivityThread发送启动Activity的请求。
  • ActivityThread收到请求后,执行核心启动入口方法performLaunchActivity()。

实例化与初始化阶段

在performLaunchActivity()内部会完成以下关键步骤:

  1. 通过类加载器(ClassLoader)创建目标Activity的实例。
  2. 调用Activity的attach()方法,初始化上下文(Context)、Window、ActivityManager等核心依赖组件,让Activity具备与系统交互的基础能力。
  3. 准备Bundle savedInstanceState参数:如果Activity是恢复启动(比如配置变更、后台进程被回收后重启),该参数会携带系统保存的历史页面状态;首次启动时为null。

调用onCreate()

完成上述初始化后,ActivityThread会直接调用Activity实例的onCreate(Bundle savedInstanceState)方法,此时进入开发者熟悉的业务代码阶段——你可以在这里执行布局初始化(setContentView())、ViewModel绑定、数据初始化等操作。

后续生命周期衔接

onCreate()执行完成后,会按顺序触发onStart()、onResume()等生命周期方法,直到Activity进入前台可交互状态。

内容的提问来源于stack exchange,提问作者Yathish Kumar Y

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 20:55:23