Android: onCreate() getting called multiple times (and not by me)

寵の児 提交于 2019-12-04 01:51:46
xtempore

Android will recreate your activity after certain "device configuration changes". One such example is orientation. You can read more here... http://developer.android.com/guide/topics/resources/runtime-changes.html

Perhaps something in your threads is doing something which is considered a configuration change?

If that's the case you might find it useful to extend the Application class instead and do your initialization there. See this post... Activity restart on rotation Android

HTH

I was experiencing an Activity called twice on some Samsung devices. I solved it adding android:launchMode = "singleInstance" on the Activity tag on Manifest. I hope this can help.

This happened to me once when I used "Don't save actions" in the app section of the developer options. Be sure you have turned this off.

Ram Iyer

I have observed this issue when you are trying start an activity with values in the intent.

Below is an example where Activity_A calls Activity_B and passes values in the intent to be collected in Activity_B:

Intent intent = new Intent(this, activityB.class);
intent.putExtra("val1", someValue1);
intent.putExtra("val2", someValue2);
intent.putExtra("val3", someValue3);
this.StartActivity(intent);

In this case, you can set the android:launchMode="singleInstance" or android:launchModel="singleTop" in your AndroidManifest.xml and Activity_B will only launch once. Hope this helps.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!