Sobes.tech
Junior

Activityнин өмүр цикли методдорун билесизби жана алар кандай аткарылат?

sobes.tech AI

AIден жооп

  • onCreate(): Activity биринчи жолу түзүлгөндө чакырылат. UI жана маалыматтарды баштапкы жөндөөлөр үчүн колдонулат.
  • onStart(): Activity көрнөкөй болот колдонуучуга.
  • onResume(): Activity активдүү болот жана ал алдыңкы планда болот. Колдонуучу менен өз ара аракеттеше алат.
  • onPause(): Activity артка планда өтсө же башка Activity жарым-жартылай жабылса чакырылат. Тез калыбына келтирүү үчүн абалды сактоо үчүн колдонулат.
  • onStop(): Activity башкача көрүнбөйт колдонуучуга. Колдонулбай турган ресурстарды бошотуу үчүн колдонулат.
  • onDestroy(): Activity жок кылынгандан мурун чакырылат. Ресурстарды акыркы тазалоо үчүн колдонулат.
  • onRestart(): onStop() кийин чакырылат, кайра көрүнүктүү болот.

Иштөө кезинде методдордун аткаруу тартиби: onCreate() -> onStart() -> onResume().

Артка планда өтүү (мисалы, Home баскычын басканда): onPause() -> onStop().

Фонго кайтып келгенде: onRestart() -> onStart() -> onResume().

Activity жок кылынганда: onPause() -> onStop() -> onDestroy().

Экранды буруу учурунда Activity жок кылынат жана кайра түзүлөт. Тартиби: onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume(). Абалды сактоо үчүн onSaveInstanceState() (onStop() алдын) жана калыбына келтирүү onCreate() же onRestoreInstanceState() (onStart() кийин) колдонулат.

class MyActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main) // UIнин баштапкы түзүлүшү
        // savedInstanceStateден абалды калыбына келтирүү
    }

    override fun onStart() {
        super.onStart()
        // Activity көрүнүүчү болот
    }

    override fun onResume() {
        super.onResume()
        // Activity алдыңкы планда, аралашууга даяр
    }

    override fun onPause() {
        super.onPause()
        // Activity артка планда өтөт
        // Тез калыбына келтирүүчү абалды сактоо
    }

    override fun onStop() {
        super.onStop()
        // Activity көрүнбөйт
        // Ресурстарды бошотуу
    }

    override fun onDestroy() {
        super.onDestroy()
        // Activity жок кылынат
        // Аякталган ресурстарды тазалоо
    }

    override fun onRestart() {
        super.onRestart()
        // Activity фондуктан кайтып келет
    }

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        // Жок кылуудан мурун абалды сактоо
    }

    override fun onRestoreInstanceState(savedInstanceState: Bundle) {
        super.onRestoreInstanceState(savedInstanceState)
        // Абалды калыбына келтирүү
    }
}