Mam aktywność o nazwie HomeActivity, która ma SurfaceView i pokazuje obraz z podglądu z kamery. Ta aktywność jest bardzo cicha i wydaje się wolna, jeśli ją uruchamiasz/uruchamiasz ponownie.onCreate jest zawsze wywoływany, jeśli nawigacja wstecz z intencją
Więc zrobiłem kilka badań i okazało się, że w jakiś sposób zawsze metoda onCreate jest nazywany. Moim zdaniem nie powinno to mieć miejsca, jeśli działanie już się rozpoczęło?
Numer documentation mówi: Wywoływany, gdy aktywność jest tworzona po raz pierwszy. W tym miejscu powinieneś wykonać całą normalną konfigurację statyczną: tworzyć widoki, wiązać dane z listami itp. Ta metoda zapewnia również pakiet zawierający wcześniej zamrożony stan działania, o ile taki był. Zawsze następuje po onStart().
Oto metoda, która obsługuje wracając:
protected void gotoHome() {
final Intent intent = new Intent(SomeOtherActivity.this, HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
Edit:
Oto jak wyjeżdżam HomeActivity ... nic specjalnego:
final Intent i = new Intent(HomeActivity.this, SomeOtherActivity.class);
startActivity(i);
Upewnij się, że nie kończy() HomeActivity podczas uruchamiania innej działalności z nią. – Egor
onCreat() wywołuje, gdy wracają z metodą 'gotoHome()'? –
@ Egor Nie dzwonię zakończyć() – Mark