Activity'nin yaşam döngüsü yöntemlerini biliyor musunuz ve nasıl çalıştırılırlar?
sobes.tech yapay zeka
AI'dan gelen yanıt
onCreate(): Activity ilk kez oluşturulduğunda çağrılır. Kullanıcı arayüzü ve verilerin başlatılması için kullanılır.onStart(): Activity, kullanıcı için görünür hale gelir.onResume(): Activity aktif hale gelir ve ön planda olur. Kullanıcıyla etkileşime girebilir.onPause(): Activity arka plana geçerken veya başka bir Activity kısmen üzerine gelirken çağrılır. Hızlıca geri yüklenmesi gereken durumu kaydetmek için kullanılır.onStop(): Activity artık kullanıcı tarafından görünmez. Kullanılmayan kaynakları serbest bırakmak için kullanılır.onDestroy(): Activity yok edilmeden önce çağrılır. Kaynakların son temizliği için kullanılır.onRestart():onStop()sonrası çağrılır ve Activity tekrar görünür hale gelir.
Başlangıçta metodların yürütülme sırası: onCreate() -> onStart() -> onResume().
Arka plana geçiş (örneğin, Ana Sayfa düğmesine basıldığında) sırasında metodların yürütülme sırası: onPause() -> onStop().
Arka plandan geri dönüş sırasında metodların yürütülme sırası: onRestart() -> onStart() -> onResume().
Activity yok edilmesi sırasında metodların yürütülme sırası: onPause() -> onStop() -> onDestroy().
Ekran döndürme sırasında Activity yok edilir ve yeniden oluşturulur. Sıra: onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume(). Durumu kaydetmek için onSaveInstanceState() (onStop() öncesi çağrılır) ve onCreate() veya onRestoreInstanceState() içinde geri yükleme yapılır (onStart() sonrası çağrılır).
class MyActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main) // UI başlatma
// savedInstanceState'den durumu geri yükle
}
override fun onStart() {
super.onStart()
// Activity görünür hale gelir
}
override fun onResume() {
super.onResume()
// Activity ön planda, etkileşim için hazır
}
override fun onPause() {
super.onPause()
// Activity arka plana geçer
// Hızlıca geri yüklenebilecek durumu kaydet
}
override fun onStop() {
super.onStop()
// Activity görünür değil
// Kaynakları serbest bırak
}
override fun onDestroy() {
super.onDestroy()
// Activity yok edilir
// Kaynakların son temizliği
}
override fun onRestart() {
super.onRestart()
// Activity arka plandan geri gelir
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
// Yok edilmeden önce durumu kaydet
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
// Durumu geri yükle
}
}