Cykl życia aplikacji na Androida

podstawowy-przewodnik-programowanie-android-2

Kiedy zaczynasz programować w języku takim jak C ++ lub Java, pierwszą rzeczą, której się uczy, jest główna metoda, punkt, który system operacyjny wywoła, gdy uruchomimy naszą aplikację.

W Androidzie nie ma głównej metody jako takiej, ale istnieje kilka metod naszej aktywności, które zostaną wywołane przez SSOO, gdy wystąpią ważne wydarzenia. W tym rozdziale przeanalizujemy szczegółowo, czym są te wydarzenia i jak to działa. cały cykl działania Androida. Oficjalna dokumentacja oferuje obszerne wyjaśnienie tego tematu, tutaj przeanalizujemy najważniejsze elementy wraz z kilkoma typowymi błędami podczas ich obsługi.

Cykl życia Androida przebiega według następującego schematu:

Cykl życia Androida

Wydarzenia w cyklu życia

  1. onCreate (pakiet)
    • Reprezentuje moment, w którym działanie jest tworzone. Ta metoda jest zwykle generowana przez kreatora podczas tworzenia nowego działania w systemie Android i tam utworzymy wszystko, czego będzie potrzebować działanie. Jeśli wcześniej zapisaliśmy dane aktywności w obiekcie Bundle, możemy go użyć do ich ponownego wygenerowania. Zwykle nie będziemy go używać.
  2. onStart ()
    • Działanie będzie kontynuowane być na ekraniechoć niekoniecznie widoczne. Jeśli dojdziemy z przystanku, najpierw przejdziemy przez onRestart ().
  3. onRestart ()
    • Poprzednio do onStart (), gdy pochodzimy z wywołania onStop ().
  4. onResume ()
    • Aktywność się rozpocznie reagować na interakcję użytkownik.
  5. onPause ()
    • Aktywność będzie przestań odpowiadać do interakcji użytkownika.
  6. onStop ()
    • Aktywność przeszła całkowicie do tło.
  7. onDestroy ()
    • Czynność zostanie zniszczony i uwolnione zasoby.

Kiedy będziemy musieli wdrożyć jedną z tych metod, zrobimy to dodając do naszej działalności następujące profile:

public class MyActivity extends Activity {protected void onCreate (BundleainedInstanceState) {super.onCreate (saveInstanceState); ...} protected void onStart () {super.onStart (); ...} protected void onRestart () {super.onRestart (); ...} protected void onResume () {super.onResume (); ...} chronione void onPause () {... super.onPause (); } protected void onStop () {... onStop (); } chronione void onDestroy () {... super.onDestroy (); }}

Ważne jest, aby zachować wywołanie metody nadklasy aby nie napotkać niespodzianek. Zadania każdego wydarzenia, które są ponad naszą działalnością, muszą być utrzymane. To wywołanie przejdzie na początek zdarzeń wejściowych i na koniec zdarzeń wyjściowych. W ten sposób unikniemy niespodzianek, ponieważ elementy aktywności, których potrzebujemy, ale które nie będą pod naszą kontrolą, zostaną utworzone przed ich użyciem, a następnie zostaną zniszczone.

Nie musimy dodawać wszystkich wydarzeńte, których nie potrzebujemy, będą używać domyślnej implementacji. Metody, których będziemy często używać - i nie zaleca się dotykania innych - to onCreate, onPause i onRestart.

Znaczenie onCreate jest jasne: jest to miejsce, w którym załadujemy potrzebne nam zasoby, widoki i wszystko, czego potrzebujemy. W przypadku wyjścia jedyną metodą, na której się skupimy, jest onPause. Powodem unikania onStop i onDestroy jest to, że nie mamy nad nimi żadnej kontroli. onPause będzie działać za każdym razem, gdy aplikacja wyjdzie z pierwszego planu, podczas gdy pozostałe dwa zostaną uruchomione przez system operacyjny w zależności od Twoich potrzeb. Mogą nigdy nie zostać straceni! Ma to na celu uniknięcie kosztów wielokrotnego tworzenia działania, jeśli przejdziemy od działania na pulpit i odwrotnie, a system operacyjny zwolni wykorzystane zasoby tylko wtedy, gdy ich potrzebuje, i nie musi zajmować się wszystkimi. otwarte procesy.

Oznacza to, że założymy, że aplikacja umrze po wykonaniu onPause i że należy do nas ostatnia szansa na zapisanie danych które musimy zapisać i zatrzymać usługi, z których korzystamy, takie jak geolokalizacja. Jeśli zatrzymaliśmy usługi, odpowiednim miejscem do ich ponownego uruchomienia jest Restart.

Innych metod nie będziemy musieli używać zbyt wiele. Częstym przypadkiem, w którym będziemy go potrzebować, będzie integracja bibliotek zewnętrznych, takich jak Facebook czy Flurry. W takich przypadkach zostaniemy poproszeni o dopasowanie metod naszej działalności do Twojego kodu. Na przykład, aby zarejestrować sesję Flurry, zostaniemy poproszeni o rozpoczęcie sesji w metodzie onStart.

Kilka przydatnych pomysłów

  • Pamiętaj, do czego służy każde wydarzenie. Zawsze będziesz potrzebować onCreate, a często będziesz potrzebować onPause i onResume, aby zatrzymać i ponownie uruchomić najbardziej zużywające się usługi.
  • Nie dotykaj innych wydarzeń jeśli nie potrzebujesz tego wyraźnie.
  • Nie ufaj zatrzymywaniu się i niszczeniu, mogą nigdy nie zostać wezwani. Zapisz wszystko, czego potrzebujesz w onPause.
  • Unikaj używania nieostatecznych zmiennych statycznych. Aplikację można nadal załadować po powrocie i zachowają one wartości, które pozostawili. Jeśli nie masz innego wyjścia, jak ich użyć, pamiętaj, aby zresetować ich wartości po powrocie na pierwszy plan.

Więcej informacji - Podstawowy przewodnik po programowaniu w systemie Android


Jesteś zainteresowany:
Jak usunąć wirusy z Androida
Obserwuj nas w Wiadomościach Google

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Actualidad Blog
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.