Cykl życia aktywności

Do tej pory o aktywnościach myślałam jak o takich kolejno uruchamianych okienkach. Dziś dowiedziałam się, że te okienka są przechowywane w pamięci systemu na jednym stosie. Kiedy uruchamiana jest nowa aktywność, umieszczana jest ona na szczycie stosu. Jeśli użytkownik ją zakończy, zostanie ona z tego stosu usunięta, a na ekranie pojawi się znów aktywność, która leżała bezpośrednio pod nią. W przypadku, gdy w systemie zacznie brakować zasobów, może on zacząć usuwać obiekty z dołu stosu. Aby odpowiednio zarządzać takimi procesami zdefiniowano cztery stany, w których może występować aktywność (http://developer.android.com/reference/android/app/Activity.html).

Aktywność może być:

  • aktywna:) wtedy, gdy znajduje się na szczycie stosu.
  • zapauzowana,  wtedy gdy jest widoczna dla użytkownika, choć nie znajduje się na szczycie stosu (na szczycie znajduje się aktywność przezroczysta albo niepełnowymiarowa). Taka aktywność może być przez system zabita w przypadku: extreme low memory situation :).
  • zatrzymana, wtedy gdy jest w całości przesłonięta przez inną aktywność. Taka aktywność zostanie zabita przez system, jeśli będzie on potrzebował pamięci, którą ona wykorzystuje.
  • wyłączona, wtedy gdy nie ma jej w pamięci operacyjnej.

Poniżej, dla lubiących tak jak ja diagramy, schemat cyklu życia aktywności (również wzięty z dokumentacji Androida). Szare prostąkąty przedstawiają metody, które są wywoływane podczas przechodzenia aktywności przez poszczególne stany.

 

Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s