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