1

Я пытаюсь создать приложение для Android, и у меня возникают проблемы.Приложение для Java Java с дублированием

В деятельности по умолчанию У меня есть следующий код:

@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) 

Проблема заключается в дублированных расстрелах коды. Я прошу помощи, чтобы определить, что может быть сделано неправильно. Благодаря!

+0

Можете ли вы объяснить, почему вы пытаетесь изменить ориентацию на ландшафт? Это требование? – sJy

ответ

0

Метод Acitvity onCreate вызывается дважды из-за изменения конфигурации, которое происходит: изменение ориентации. В этом случае действие останавливается и уничтожается, а затем воссоздается (onCreate еще раз), чтобы создать его представление для новой конфигурации экрана.

Чтобы лучше понять этот процесс, добавьте журналы в каждый обратный вызов жизненного цикла вашей деятельности, например. в onCreate, onResume, onStart, onStop и т. д. Вы увидите, что происходит, когда вы запрашиваете изменения конфигурации, сворачиваете экран или закрываете приложение.

Подробнее о activity lifecycle и configuration changes.