我正在尝试构建android应用程序,但我遇到了一些麻烦。
在默认活动中,我有以下代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
setContentView(R.layout.activity_start);
Log.d(LOG_NAME, "Опрос успешно обновлен (#" + loading_trys + ")");
}在启动我的应用程序后,日志显示:
08-22 14:40:56.098 10857-10857/ru.oprosy D/LOG: Опрос успешно обновлен (#0)
08-22 14:40:56.155 10857-10857/ru.oprosy D/LOG: Опрос успешно обновлен (#0)问题在于代码的重复执行。我在请求帮助,以确定可能做错了什么。谢谢!
发布于 2016-08-22 18:19:54
Acitvity onCreate方法被调用两次,因为发生了配置更改:方向更改。在这种情况下,活动被停止并销毁,然后重新创建(再次调用onCreate)来为屏幕的新配置构建视图。
要更好地理解此过程,请在活动的每个生命周期回调中添加日志,例如在onCreate、onResume、onStart、onStop等中。您将看到当您请求配置更改、最小化屏幕或关闭应用程序时到底发生了什么。
阅读有关activity lifecycle和configuration changes的更多信息。
https://stackoverflow.com/questions/39076404
复制相似问题