Sobes.tech
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() pre onCreate(), gde dolazi do povezivanja sa Activity (dobijanje konteksta Activity), i onCreateView(), gde se kreira hijerarhija View-ova fragmenta.
  • onDestroy(): Fragment ima dodatnu metodu onDestroyView() pre onDestroy(), gde se čisti hijerarhija View-ova, i onDetach() nakon onDestroy(), 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.