Usługi uruchomione
751
jesteś tutaj
onCreate()
onDestroy()
Komponent wywołuje metodę startService()
i usługa zostaje utworzona.
Bezpośrednio po utworzeniu usługi zostaje
wywołana jej metoda onCreate().
To właśnie w tej metodzie należy umieszczać
wszelki kod inicjujący, gdyż jest ona zawsze
wywoływana po utworzeniu usługi, lecz zanim
zacznie być ona wykonywana.
Większość czasu swego istnienia usługa
pozostaje w stanie działająca.
Metoda onDestroy() jest wywoływana,
gdy usługa zakończy działanie i bezpośrednio
przed jej usunięciem.
Metoda
onDestroy()
pozwala wykonywać wszelkie
czynności związane z zakańczaniem działania usługi,
takie jak zwalnianie zasobów.
Po wykonaniu metody onDestroy() usługa
zostanie usunięta.
Trzema głównymi metodami cyklu życia usług są:
onCreate()
,
onStartCommand()
oraz
onDestroy()
. A skąd one pochodzą?
Usługa utworzona
Usługa usunięta
onStartCommand()
Usługa działająca
Metoda onStartCommand() zostaje wykonana
przed uruchomieniem usługi.
Jeśli nasza usługa dziedziczy po
IntentService
(jak jest w przeważającej większości przypadków),
to metoda
onStartCommand()
tworzy osobny
wątek, a następnie jest wywoływana metoda
onHandleIntent()
. Cały kod, który usługa ma
wykonywać w tle, należy umieszczać właśnie
w metodzie
onHandleIntent()
.
onHandleIntent()
1
2
3
4
5
6
Cykl życia usług uruchomionych: od utworzenia do usunięcia
Poniżej przedstawiliśmy przegląd cyklu życia usług uruchomionych od ich narodzin aż do śmierci.
Get Android Programowanie aplikacji. Rusz głową! Wydanie II now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.