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öntemonCreate()öncesinde çağrılır; burada Activity ile bağlantı kurulur (Activity’nin bağlamı alınır). AyrıcaonCreateView(), burada fragmentin View hiyerarşisi oluşturulur. - onDestroy(): Fragmentin,
onDestroyView()adlı ek bir yöntemi vardır ve buonDestroy()öncesinde çağrılır; burada View hiyerarşisi temizlenir. AyrıcaonDetach()ç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.