Junior
Koja je razlika između životnog ciklusa fragmenta i životnog ciklusa Activity?
sobes.tech АИ
Одговор од АИ
Životni ciklus fragmenta usko je povezan sa životnim ciklusom roditeljske Activity. Fragment ne može postojati bez Activity.
Ključne razlike:
- onCreate(): Fragment ima dodatnu metodu
onAttach()preonCreate(), gde dolazi do povezivanja sa Activity (dobijanje konteksta Activity), ionCreateView(), gde se kreira hijerarhija View-ova fragmenta. - onDestroy(): Fragment ima dodatnu metodu
onDestroyView()preonDestroy(), gde se čisti hijerarhija View-ova, ionDetach()nakononDestroy(), gde dolazi do odvajanja od Activity. - Stanje: Fragment može biti dodat u backstack Activity, što omogućava obnavljanje njegovog stanja pri povratku. Activity se potpuno uništava na kraju.
- Ugnježdenost: Activity-i rade na nivou ekrana, dok fragmenti mogu biti ugnježdeni jedan u drugog i u Activity.
Tabela poređenja glavnih metoda životnog ciklusa:
| Metoda Activity | Metoda(e) fragmenta | Opis |
|---|---|---|
onCreate() |
onAttach(), onCreate(), onCreateView() |
Kreiranje instance, povezivanje, kreiranje View-a |
onStart() |
onStart() |
Postaje vidljiv |
onResume() |
onResume() |
Počinje interakcija sa korisnikom |
onPause() |
onPause() |
Prelazi u pozadinu ili je delimično sakriven |
onStop() |
onStop() |
Postaje nevidljiv |
onDestroy() |
onDestroyView(), onDestroy(), onDetach() |
Uništavanje View-a, instance, odvajanje |
Životni ciklus fragmenta je finiji, što omogućava fleksibilnije upravljanje stanjem i ponašanjem UI komponenti unutar jedne Activity. Na primer, onCreateView() se poziva svaki put kada se kreira View fragmenta, čak i ako je sam fragment već kreiran (npr. pri promeni konfiguracije). onCreate() se poziva samo jednom tokom životnog ciklusa instance fragmenta.