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

Android应用首次安装启动时onCreate()被调用两次是否正常?

Android应用首次安装启动时,onCreate()会被调用两次吗?

我看过一些类似的问题,但它们与我的问题存在明显差异,无法解答我的疑惑。

在Android Studio中使用Java开发的Android应用,首次安装启动时为什么onCreate()会被调用两次?我在开发应用时遇到了由此引发的问题,因此创建了一个仅包含空Activity的新项目,仅添加Log.d语句进行测试,结果确实如此!我想知道出现这种情况的原因?虽然某些场景下这可能不是问题,但它给我带来了极大困扰。

MainActivity.java

package com.example.oncreatetestapp;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d("TESTLOG", "onCreate() triggered.");
    }

    @Override
    protected void onPause() {
        super.onPause();
        Log.d("TESTLOG", "onPause() triggered.");
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.d("TESTLOG", "onResume() triggered.");
    }
}

首次安装启动时的Logcat日志

---------------------------- PROCESS STARTED (11793) for package com.example.oncreatetestapp ----------------------------
2023-06-02 12:06:15.698 11793-11793 TESTLOG                 com.example.oncreatetestapp          D  onCreate() triggered.
2023-06-02 12:06:15.711 11793-11793 TESTLOG                 com.example.oncreatetestapp          D  onResume() triggered.
2023-06-02 12:06:18.326 11793-11793 TESTLOG                 com.example.oncreatetestapp          D  onPause() triggered.
2023-06-02 12:06:18.370 11793-11793 TESTLOG                 com.example.oncreatetestapp          D  onCreate() triggered.
2023-06-02 12:06:18.372 11793-11793 TESTLOG                 com.example.oncreatetestapp          D  onResume() triggered.

后续启动时的Logcat日志

---------------------------- PROCESS STARTED (12748) for package com.example.oncreatetestapp ----------------------------
2023-06-02 12:07:55.563 12748-12748 TESTLOG                 com.example.oncreatetestapp          D  onCreate() triggered.
2023-06-02 12:07:55.575 12748-12748 TESTLOG                 com.example.oncreatetestapp          D  onResume() triggered.

我除了在MainActivity中添加用于调试的Log语句外,没有对新项目做任何修改。此外,这似乎是一个非常基础的问题,但我在网上找不到相关的讨论。恳请Android开发者社区帮忙解答!


内容的提问来源于stack exchange,提问作者Shuvam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 03:13:22