Android’de Activity ve Fragment Yaşam Döngüsü
Android uygulamalarında Activity ve Fragment‘ler, kullanıcı etkileşimlerini yöneten temel bİrimlerdir. Bu yapılar, sistem tarafından yönetilen çeşitli olaylar üzerine farklı çağrım metotları sunar. Doğru kullanıldıklarında, uygulama performansını ve stabilitesini artırırken, hataları önlemeye yardımcı olurlar. Bu yazıda, Activity ve Fragment’ın yaşam döngüsünü detaylı bir şekilde inceleyeceğiz.
Activity Yaşam Döngüsü
Bir Activity, kullanıcının etkileşimde bulunduğu bir ekranı temsil eder. Android, bir Activity’ın ömrü boyunca farklı evrelerden geçtiğini belirleyen bir yaşam döngüsü sunar.

Activity Yaşam Döngüsü Metotları
onCreate()
Activity oluştuğunda bir kez çağrılır.
Kullanıcı arayüzü tanımlanır ve gerekli başlatma işlemleri burada yapılır.
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Başlatma işlemleri }
onStart()
Activity ekranda kullanıcıya görünmeden hemen önce çağrılır.
onResume()
Activity kullanıcıyla etkileşim halindedir.
Animasyonlar veya veri yenileme gibi dinamik işlemler burada başlatılabilir.
onPause()
Kullanıcı Activity’den ayrıldığında çağrılır.
Kaynaklar serbest bırakılabilir ya da kaydedilecek veriler tutulabilir.
onStop()
Activity tamamen ekrandan kaybolmuştur ancak hala bellekte saklanır.
onDestroy()
Activity yok edilmeden önce çağrılır.
Kaynakları tamamen serbest bırakmak için kullanılır.
Fragment Yaşam Döngüsü
Fragment, bir Activity’ın parçalarını temsil eden modüleridir. Bir Activity’ın içinde birden fazla Fragment bulunabilir ve her biri kendi yaşam döngüsüne sahiptir.

Fragment Yaşam Döngüsü Metotları
onAttach()
Fragment, Activity’ye eklendiğinde bir kez çağrılır.
onCreate()
Fragment başlatıldığında bir kez çağrılır.
onCreateView()
Fragment’ın kullanıcı arayüzü burada oluşturulur.
override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { return inflater.inflate(R.layout.fragment_example, container, false) }
onViewCreated()
Kullanıcı arayüzü oluşturulduktan hemen sonra çağrılır.
View ile ilgili özel işlemler burada yapılabilir.
onStart()
Fragment, kullanıcıya görünmeden hemen önce çağrılır.
onResume()
Fragment kullanıcıyla etkileşim halindedir.
onPause()
Kullanıcı Fragment’tan ayrıldığında çağrılır.
onStop()
Fragment tamamen ekrandan kaybolur.
onDestroyView()
Fragment’ın View nesnesi yok edilir.
onDestroy()
Fragment tamamen yok edilmeden önce çağrılır.
onDetach()
Fragment, Activity’den ayrıldığında bir kez çağrılır.
Activity ve Fragment İlişkisi
Bir Fragment, bir Activity’ye bağlı olarak çalışır ve Activity’nin yaşam döngüsüne bağlıdır.
Activity’ın onCreate() metodu çalıştıktan sonra Fragment’ın onAttach() ve diğer metodları çağrılır.
Activity ve Fragment Farkları
Activity | Fragment |
---|---|
Bağımsız bir yapıdır. | Bir Activity’e bağlı olarak çalışır. |
Her zaman bir kullanıcı arayüzü içerir. | Kullanıcı arayüzü opsiyoneldir. |
Tek başına çalışabilir. | Tek başına çalışamaz, bir Activity gerektirir. |
Daha ağır bir yapıdadır. | Daha hafif ve yeniden kullanılabilir bir yapıdır. |
AndroidManifest.xml dosyasında tanımlanır. | Dinamik olarak oluşturulabilir ve yönetilebilir. |
Yaşam döngüsü daha basittir. | Yaşam döngüsü Activity’e göre daha karmaşıktır. |
İpuçları ve En İyi Uygulamalar
Kaynak Yönetimi:
Fragment ya da Activity’de, onDestroy() metodunda kaynakları serbest bırakmayı unutmayın.
Backstack Yönetimi:
Fragment’ları bir FragmentManager ile yöneterek backstack yapısını etkili bir şekilde kullanın.
ViewModel Kullanımı:
Veri paylaşımı ve yaşam döngüsü farklılıklarını yönetmek için ViewModel ve LiveData gibi Android Jetpack bileşenlerini tercih edin.
Bu yazıda Android’deki Activity ve Fragment yaşam döngülerini ve aralarındaki farklılıkları detaylı bir şekilde ele aldık. Doğru bir yaşam döngüsü yönetimi, uygulamanın performansını ve stabilitesini ciddi ölçülerde artırabilir.