1

Ich versuche Android-Anwendung zu bauen, und ich habe einige Probleme.Android Java-Anwendung doppelte Ausführung

In Standard Aktivität habe ich den folgenden Code:

@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 + ")"); 
} 

und meine Anwendung nach dem Start, das Protokoll zeigt:

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) 

Das Problem ist in duplizierten Ausführungen des Codes. Ich bitte um Hilfe, um festzustellen, was falsch gemacht werden kann. Vielen Dank!

+0

Können Sie erklären, warum Sie versuchen, die Ausrichtung auf Landscape zu ändern? Ist das eine Anforderung? – sJy

Antwort

0

Acitvity onCreate Methode wird zweimal aufgerufen, weil eine Konfigurationsänderung auftritt: Orientierungsänderung. In diesem Fall wird eine Aktivität gestoppt und zerstört und dann erneut erstellt (onCreate erneut aufgerufen), um ihre Ansicht für eine neue Konfiguration des Bildschirms zu erstellen.

Um diesen Prozess besser zu verstehen, fügen Sie in jedem Lebenszyklus-Callback Ihrer Aktivität Protokolle hinzu, z. in onCreate, onResume, onStart, onStop usw. Sie sehen genau, was passiert, wenn Sie Konfigurationsänderungen anfordern, Ihren Bildschirm minimieren oder die Anwendung schließen.

Lesen Sie mehr auf activity lifecycle und configuration changes.

Verwandte Themen