Sobes.tech
Junior

Activity-nin həyat dövrü metodlarını bilirsiniz və onlar necə icra olunur?

sobes.tech Süni İntellekt

AI-dan cavab

  • onCreate(): Activity ilk dəfə yaradıldıqda çağrılır. UI və məlumatların başlanğıcını qoymaq üçün istifadə olunur.
  • onStart(): Activity istifadəçiyə görünür olur.
  • onResume(): Activity aktiv olur və ön planda yerləşir. İstifadəçi onunla qarşılıqlı əlaqədə ola bilər.
  • onPause(): Activity arxa plana keçəndə və ya başqa bir Activity onu qismən örtəndə çağrılır. Tez bərpa olunacaq vəziyyəti saxlamaq üçün istifadə olunur.
  • onStop(): Activity artıq istifadəçiyə görünmür. İstifadə olunmayan resursları azad etmək üçün istifadə olunur.
  • onDestroy(): Activity məhv ediləndən əvvəl çağrılır. Resursların son təmizlənməsi üçün istifadə olunur.
  • onRestart(): onStop()-dan sonra çağrılır və Activity yenidən görünür olur.

Başlanğıcda metodların icra sırası: onCreate() -> onStart() -> onResume().

Arxa plana keçid (məsələn, Home düyməsini basmaq) zamanı metodların icra sırası: onPause() -> onStop().

Fondan qayıdış zamanı metodların icra sırası: onRestart() -> onStart() -> onResume().

Activity-nin məhv edilməsi zamanı metodların icra sırası: onPause() -> onStop() -> onDestroy().

Ekranın döndürülməsi zamanı Activity məhv edilir və yenidən yaradılır. Sıra: onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume(). Vəziyyəti saxlamaq üçün onSaveInstanceState() istifadə olunur (onStop()-dan əvvəl çağrılır) və bərpa onCreate() və ya onRestoreInstanceState()-də həyata keçirilir (onStart()-dan sonra çağrılır).

class MyActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main) // UI-nin başlanğıcı
        // savedInstanceState-dən vəziyyəti bərpa et
    }

    override fun onStart() {
        super.onStart()
        // Activity görünür olur
    }

    override fun onResume() {
        super.onResume()
        // Activity ön planda, qarşılıqlı əlaqəyə hazır
    }

    override fun onPause() {
        super.onPause()
        // Activity arxa plana keçir
        // Tez bərpa ediləcək vəziyyəti saxla
    }

    override fun onStop() {
        super.onStop()
        // Activity görünmür
        // Resursları azad et
    }

    override fun onDestroy() {
        super.onDestroy()
        // Activity məhv edilir
        // Resursların son təmizlənməsi
    }

    override fun onRestart() {
        super.onRestart()
        // Activity fondan geri qayıdır
    }

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        // Vəziyyəti saxlamaq, məhv etmədən əvvəl
    }

    override fun onRestoreInstanceState(savedInstanceState: Bundle) {
        super.onRestoreInstanceState(savedInstanceState)
        // Vəziyyəti bərpa et
    }
}