LifeCycle

Se observă faptul că ciclul de viață al unui serviciu are loc între metodele onCreate() și onDestroy(). De cele mai multe ori, este necesar ca un serviciu să folosească unul sau mai multe fire de execuție (dedicate) astfel încât să nu influențeze responsivitatea aplicației Android. Într-o astfel de situație, firul de execuție va fi pornit pe metoda onCreate() și va fi oprit pe metoda onDestroy(). De asemenea, în cadrul metodei onCreate() au loc diferite operații de configurare (inițializări), în timp ce în cadrul metodei onDestroy() realizează eliberarea resurselor folosite. Metodele onCreate() și onDestroy() sunt invocate pentru toate tipurile de servicii, atât pentru cele de tip started, cât și pentru cele de tip bounded.

În cazul unui serviciu de tip started, perioada activă din ciclul de viață este cuprinsă între apelul metodei onStartCommand() (apelată în mod automat atunci când o componentă apelează metoda startService(), primind ca argument obiectul de tip Intent care a fost folosit la invocarea sa) și apelul metodei onDestroy() (apelat atunci când serviciul este oprit, prin intermediul uneia dintre metodele stopSelf() sau stopService()).

În cazul unui serviciu de tip bounded, perioada activă din ciclul de viață este cuprinsă între apelul metodei onBind() (apelată în mod automat atunci când o componentă apelează metoda bindService(), primind ca argument obiectul de tip Intent care a fost folosit la invocarea sa) și apelul metodei onUnbind() (apelată în mod automat atunci când toate componentele asociate serviciului au apelat metoda unbindService()).