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
相关产品推荐
相关产品推荐

