Android Activity Life Cycle (Aktivite Yaşam Döngüsü)

Pelin Gül
2 min readSep 17, 2018

--

Herkese merhaba,

Bilgi birikimimi pekiştirmek ve Android ile ilgilenenen ya da ilgilenmeyi düşünen insanlara fayda sağlayabilmek için teknik yazılar yazmaya karar verdim. Bu başlık da benim ilk yazım olacak. Eksiklerim için şimdiden özür dileyerek konuya giriş yapmak istiyorum.

Bir mobil uygulamanın çalışması için temel prensip Aktivitenin ayağa kalkmasıdır. Aktivite, kullanıcının mobil uygulamada işlemini gerçekleştirdiği ekrandır. Her uygulama birden fazla aktiviteden oluşabilir. Mobil uygulamayı kullanırken yapılan her türlü işlem arka planda bazı metodların çalışması ile sağlanır. Ekranın yan çevrilmesinden, geri tuşuna basmaya; butonlar aracılığıyla yeni aktiviteye geçmekten, aktiviteyi sonlandırmaya kadar birçok aşama Android’in belirlediği bir yaşam döngüsü içerisinde sağlanır.

İyi bir uygulama geliştirebilmek için bu yaşam döngüsünü anlamamız çok önemli. Uygulamada gerçekleştirilen işlemler sonucu çalışan metodları kavrayamaz ve sırasını anlayamazsak uygulamamız büyük ihtimal hata verir.

Bu yazımda mobil uygulamaların çoğunda kullanılan temel metodlardan ve bunların uygulanış düzeninden bahsetmek istiyorum. Acitivty Life Cycle ile ilgili her yerden erişeceğimiz temel bir şema bulunmaktadır:

Bu şema üzerinden metodları kolaylıkla inceleyebiliriz.

onCreate();

Bir aktivite başlatıldığında arka planda devreye giren ilk metodumuz onCreate()’tir. Uygulama açıldığı zaman aktivitenin gerçekleştirmesini istediğimiz her olayı onCreate() metodunda yazarız. Bu işlemler sadece bir kez gerçekleştirilir, aktivite silinmediği müddetçe bir daha onCreate() metodu çalıştırılmaz.

onStart();

onCreate() metodundan sonra veya aktivite tekrar çağrıldıktan sonra devreye onStart() metodu girer. Bu metod ile aktivitenin arayüzü kullanıcıya görünür hale gelir.

onResume();

Aktiviti durdurulduktan sonra tekrar aynı ekrana gelindiğinde devreye onResume() metodu girer. Aktivite çalıştırılmadan önceki son metod budur. Bundan sonra yazılan koda göre diğer metodlar devreye girer.

onPause();

Aktivite arka plana geçtiği zaman onPause() metodu başlar. Arka planda çalıştırılacak bir animasyon da onCreate() metodunda değil onPause() metodunda yazılmalıdır. Eğer onCreate() içerisinde yazılırsa, aktivite tekrar ön plana alındığında animasyon çalışmaz.

onStop();

onPause() metodundan sonra çalışır. Aktivite arka plana atıldıktan sonra gerçekleşebilecek iki ihtimal vardır: ya kullanıcının aktiviteye tekrar dönmesi ya da aktivitenin tamamen sonlanması. Kullanıcı geri geldiğinde uygulama onStart() metodundan itibaren yeniden çalıştırılır. Eğer aktivite sonlandıysa da devreye onDestroy() metodu girer.

onDestroy();

Aktivite tamamen yok edilir ve yaşam döngüsü tamamlanır.

Life Cycle içerisinde belirtilen tüm metodlar temel bir uygulamanın düzgün bir biçimde çalışması için gereklidir. Daha kullanışlı bir mobil uygulamada öğrenmemiz gereken birçok metod bulunmaktadır. Life Cycle’ı incelediğimiz zaman gerçekleştirilen her adımın bir metod ile ayağa kalktığını görebiliyoruz, bu anlamda bir mobil uygulamayı kullandığımız anda yaptığımız her adımın ihtiyaçlarını farkedip onları ayağa kaldıracak metodları tahmin etmek de kaçınılmaz.

Umarım bu yazım sizler için faydalı olmuştur. Okuduğunuz için teşekkür ederim.

--

--