Zajmuję się tworzeniem aplikacji dla Androida przez jakiś czas i śledzę wiele postów dotyczących cyklu życia aktywności i cyklu życia aplikacji.co dokładnie robi metoda Activity.finish()?
Wiem, że Activity.finish()
wywołuje metody gdzieś w drodze do Activity.onDestroy()
, a także usuwa aktywność ze stosu, i myślę, że w jakiś sposób wskazuje na system operacyjny i garbage collector, że może "wykonać swoją sztuczkę" i zwolnić pamięć, gdy znajdź to dobry czas, robiąc to ...
Przyszedłem do tego posta - Is quitting an application frowned upon? i przeczytałem odpowiedź Marka Murphy'ego.
To mnie trochę zdezorientowało, co właściwie robi metoda finish()
.
Czy jest szansa, że zadzwonię pod numer finish()
, a onDestroy()
nie zostanie wywołany?
tak metoda finish() tylko wywoływanie połączenia z onDestroy() i to wszystko? –
tak to wywołuje onDestroy(), która zniszczy działanie zgodne z pojęciem działania Cykl życia –
Po zakończeniu() wszystkie zmienne w tym działaniu zostaną zniszczone, prawda? Kiedy ponownie wrócę do tego działania, zostaną one ponownie zadeklarowane lub zainicjowane, prawda? –