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/