Sobes.tech
Junior

Bir fragmentin yaşam döngüsü ile bir Activity'nin yaşam döngüsü arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir fragmentin yaşam döngüsü, ana Activity’nin yaşam döngüsüyle yakından ilişkilidir. Bir fragment, Activity olmadan var olamaz.

Anahtar farklar:

  • onCreate(): Fragmentin, onAttach() adlı ek bir yöntemi vardır ve bu yöntem onCreate() öncesinde çağrılır; burada Activity ile bağlantı kurulur (Activity’nin bağlamı alınır). Ayrıca onCreateView(), burada fragmentin View hiyerarşisi oluşturulur.
  • onDestroy(): Fragmentin, onDestroyView() adlı ek bir yöntemi vardır ve bu onDestroy() öncesinde çağrılır; burada View hiyerarşisi temizlenir. Ayrıca onDetach() çağrılır ve Activity’den bağlantı kesilir.
  • Durum: Fragment, Activity’nin geri yığmasına (backstack) eklenebilir, böylece geri döndüğünde durumu restore edilebilir. Activity, tamamlandığında tamamen yok edilir.
  • İç içe geçme: Activity’ler ekran seviyesinde çalışırken, fragmentler birbirine ve Activity’ye iç içe yerleştirilebilir.

Temel yaşam döngüsü metodlarının karşılaştırmalı tablosu:

Activity Metodu Fragment Metodu(ları) Açıklama
onCreate() onAttach(), onCreate(), onCreateView() Örnek oluşturma, bağlama, View oluşturma
onStart() onStart() Görünür hale gelir
onResume() onResume() Kullanıcıyla etkileşime başlar
onPause() onPause() Arka plana geçer veya kısmen gizlenir
onStop() onStop() Görünmez olur
onDestroy() onDestroyView(), onDestroy(), onDetach() View, örnek yok edilir, bağlantı kesilir

Fragmentin yaşam döngüsü daha ayrıntılıdır, bu da aynı Activity içinde UI bileşenlerinin durumunu ve davranışını daha esnek yönetmeye olanak tanır. Örneğin, onCreateView() her çağrıldığında View yeniden oluşturulur, hatta fragment zaten oluşturulmuş olsa bile (örneğin, yapılandırma değişikliği sırasında). onCreate() ise yalnızca fragmentin yaşam döngüsü boyunca bir kez çağrılır.