Sobes.tech
Junior

Activity ning hayot aylanishi usullarini bilasizmi va ular qanday bajariladi?

sobes.tech AI

AIdan javob

  • onCreate(): Birinchi marta Activity yaratilganda chaqiriladi. UI va ma'lumotlarni boshlash uchun ishlatiladi.
  • onStart(): Activity foydalanuvchi uchun ko'rinadi.
  • onResume(): Activity faol va old panelda bo'ladi. Foydalanuvchi bilan o'zaro aloqada bo'lishi mumkin.
  • onPause(): Activity orqa fonga o'tganda yoki boshqa Activity uni qisman yopganda chaqiriladi. Tezda tiklash uchun holatni saqlash uchun ishlatiladi.
  • onStop(): Activity endi foydalanuvchi uchun ko'rinmaydi. Ishlatilmayotgan resurslarni bo'shatish uchun ishlatiladi.
  • onDestroy(): Activity yo'q qilinishidan oldin chaqiriladi. Resurslarni yakuniy tozalash uchun ishlatiladi.
  • onRestart(): onStop() dan so'ng chaqiriladi, Activity yana ko'rinadi.

Boshlashda metodlarning bajarilish ketma-ketligi: onCreate() -> onStart() -> onResume().

Orqa fonga o'tish (masalan, Home tugmasini bosish) paytida bajarilish ketma-ketligi: onPause() -> onStop().

Orqadan qaytish (fondan) paytida bajarilish ketma-ketligi: onRestart() -> onStart() -> onResume().

Activityni yo'q qilish ketma-ketligi: onPause() -> onStop() -> onDestroy().

Ekranni aylantirishda Activity yo'q qilinadi va qayta yaratiladi. Ketma-ketlik: onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume(). Holatni saqlash uchun onSaveInstanceState() (onStop()dan oldin chaqiriladi) va tiklash onCreate() yoki onRestoreInstanceState() da amalga oshiriladi (onStart()dan so'ng chaqiriladi).

class MyActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main) // UI ni boshlash
        // savedInstanceState dan holatni tiklash
    }

    override fun onStart() {
        super.onStart()
        // Activity ko'rinadi
    }

    override fun onResume() {
        super.onResume()
        // Activity old panelda, foydalanishga tayyor
    }

    override fun onPause() {
        super.onPause()
        // Activity orqa fonga o'tadi
        // Tezda tiklash uchun holatni saqlash
    }

    override fun onStop() {
        super.onStop()
        // Activity ko'rinmaydi
        // Resurslarni bo'shatish
    }

    override fun onDestroy() {
        super.onDestroy()
        // Activity yo'q qilinadi
        // Resurslarni yakuniy tozalash
    }

    override fun onRestart() {
        super.onRestart()
        // Activity fondan qaytadi
    }

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        // Holatni saqlash, yo'q qilishdan oldin
    }

    override fun onRestoreInstanceState(savedInstanceState: Bundle) {
        super.onRestoreInstanceState(savedInstanceState)
        // Holatni tiklash
    }
}