重新打开应用程序时未调用 Android Application->onCreate()

标签 android oncreate

public class MyApplication extends Application{

@Override
public void onCreate()
{
    super.onCreate();
    Log.d("*******:", "onCreate");
}}

public class MainActivity extends ActionBarActivity{

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}}

<application
    android:name=".MyApplication"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

当第一次打开这个应用程序时,MyApplication中的onCreate()方法已经被调用,但是当我完成Activity(按返回按钮),然后重新打开应用程序时,我发现MyApplication中的onCreate()方法没有被调用。

奇怪的是,如果我在系统后台“杀死”应用程序,然后重新打开它,我发现可以再次调用 onCreate() 方法。

我不知道为什么,我想在用户重新打开我的应用程序时执行操作,有人可以帮忙吗?谢谢!

最佳答案

您的 MyApplication 正在扩展 Application。因此,当应用程序在内存中时,当重新打开应用程序时不调用 onCreate 是有道理的

如果它正在扩展 Activity,则在重新打开时将调用 onCreate

关于重新打开应用程序时未调用 Android Application->onCreate(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31182024/

相关文章:

java - Android 中的 Activity 发生变化

Android Studio 无法打开 .graphql 文件

java - Android 错误 : DateFormat() sometimes shows 12hr format, 当它应该显示 24 小时制时

Java onCreate 带有参数,如 initWithParameter c++

android - 如何在 android 中为子类型加载不同的键盘布局?

android sqlite 数据库路径. 在真实设备中

android - 是否可以在 onCreate 方法中获取 Android 加速度计值?

安卓编辑文本 : Get LineCount in an Activity's onCreate()

一旦我尝试启动 Activity,Android 应用程序就会崩溃并显示 "Unfortunately, <appname> has stopped"

android - onCreate 流程在完成()之后继续