onCreate zawsze dzwoni, jeśli nawiguje wstecz z zamiarem

Mam działanie o nazwie HomeActivity, które ma SurfaceView i pokazuje obraz podglądu kamery. Ta czynność jest cicha i ciężka, jeśli uruchamiasz ją / restartujesz.

Przeprowadziłem więc kilka badań i dowiedziałem się, że w jakiś sposób zawsze wywoływana jest metoda onCreate. Moim zdaniem nie powinno to mieć miejsca, jeśli działanie zostało już rozpoczęte?

Thedokumentacja mówi: Wywoływany po pierwszym utworzeniu działania. W tym miejscu powinieneś wykonać całą normalną konfigurację statyczną: tworzyć widoki, wiązać dane z listami itp. Ta metoda zapewnia także pakiet zawierający wcześniej zamrożony stan aktywności, jeśli taki był. Zawsze następuje onStart ().

Oto metoda, która obsługuje powrót:

protected void gotoHome() {
    final Intent intent = new Intent(SomeOtherActivity.this, HomeActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
}

Edytować:

Oto jak opuszczam HomeActivity ... nic specjalnego:

final Intent i = new Intent(HomeActivity.this, SomeOtherActivity.class);
startActivity(i);

questionAnswers(1)

yourAnswerToTheQuestion