Sobes.tech
Junior

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
    }
}