Merhaba sevgili android geliştiricileri. Bu makalede sizlere Activity hakkında ve Activity’lerin yaşam döngüsü hakkında bilgi vereceğim. Öncelikle Activity nedir bunu öğrenelim.
Konu Başlıkları
Fragment Lifecycle yazım için burayı ziyaret edebilirsiniz.
Activity Nedir?
Activity androidin en temel yapılarından birisidir. Kullanıcı ile uygulama arasındaki bağlantıyı sağlayan bir etkileşim aracıdır. Peki bu kadar mı? Hayır. Activity bize kullanıcının telefonda nasıl bir işlem yaptığını bildirir. Kullanıcı uygulamayı açar, kapatır, arka plana alır ya da uygulamayı kullanırken arama gelir ve kullanıcı aramaya cevap verir. Bu gibi durumları kontrol edebilmemizi sağlar ve bunlara kısaca Activity yaşam döngüsü denir çünkü sürekli bir döngü halinde kullanılabilir.
Nasıl yani?
Kullanıcının video izlediği bir Activity var diyelim. Kullanıcı video’yu izlerken arama geldi ve aramaya cevap vermek için uygulamadan çıktı. Bu gibi durumlarda videoyu durdurabilmek ya da sesini kısmak için Activity lifecycle çalışma prensiplerinden yardım alırız.
Detay ver detay!
Activity ilk çalıştığında sırası ile onCreate, onStart ve onResume fonksiyonları çalışır arka plana alındığında onPause ve onStop kapatıldığında ise onDestroy çalışır ve activity tamamen öldürülür. Video örneğimizdeki yapıda videoyu onPause içerisinde durdurabilir ve onResume içerisinde devam ettirebiliriz.
onCreate Fonksiyonu
onCreate fonksiyonu Activity ilk kez çalıştığında çağrılır. Burada tekrar çağrılmayacak olan işlemler yapılır. Örneğin layout dosyamızı belirtmek, görünümleri bağlamak(findViewById ya da viewBinding yardımı ile) burada yapılır. ViewModel inşası burada kurulabilir, kullanılacak nesneler burada oluşturulabilir çünkü activity arka plana alınsa ve tekrar çalışsa dahi(kapatılmadığı-destroy olmadığı sürece) onCreate tekrar çalışmaz buda bize daha performanslı bir ürün çıktısı almamızı sağlar.
onRestart Fonksiyonu
Activity onPause ardından onStop olduğunda arka plana atılır. Kullanıcı uygulamaya geri dönmek istediğinde önce onRestart fonksiyonu çağrılır.
onStart Fonksiyonu
onStart fonksiyonu ilk kez açılırken onCreate tetiklendikten sonra çağrılır. Arka plandan geri getirilirken onRestart fonksiyonundan sonra çağrılır.
onResume Fonksiyonu
Eğer cihaz ekranında bir uyarı penceresi açılırsa ya da benzeri bir kesinti yaşanırsa onPause fonksiyonu çağrılır. Ve bahsi geçen kesintinin yani örneğimizde diyaloğun kapatılmasının ardından onResume çağrılır. Bir diğer çağrılma biçimi ise ilk kez açıldığında onCreate > onStart ardından çağrılır. Ya da arka plana alınıp uygulamaya tekrar gelindiğinde onRestart > onStart ardından ardından çağrılır.
onPause Fonksiyonu
Uygulama kesintiye uğradığında devreye girer. Örneğin bir uyarı penceresi açıldığında devreye girer. Ya da çoklu ekran kullanımı mümkün olan android cihazlarında diğer pencereye geçildiğinde devreye girer.
onStop Fonksiyonu
Uygulama arka plana atıldığında tahmin edebileceğiniz gibi önce kesintiye uğradığında çalışan onPause çağrılır. Ardından uygulamanın durdurulduğunu belirten onStop çağrılır. Eğer kullanıcı uygulamaya geri dönerse onResume çağrılır fakat diğer uygulamaların fazla ram kullanımı durumunda uygulama ramden silinebilir ve bu durumda Activity onRestart fonksiyonu ile değil onCreate fonksiyonu ile çağrılır.
onDestroy Fonksiyonu
Activity yaşam döngüsünün çıkış noktasıdır. Döngünün kırıldığı tek nokta desek yeridir. Burada Activity kullanıcı ile bağlantısı kesildiği için kullanılan veriler temizlenebilir. Örnek vermek gerekirse bir banka uygulamasında Activity onDestroy olduğunda tekrar giriş yapmanız için sizi yönlendirir ve güvenlik için sizden tekrar şifre talep edebilir.
Bu makalede sizlere Activity nedir ve yaşam döngüsü nasıldır anlatmaya çalıştım. Yazıma medium üzerinden de ulaşabilirsiniz.