Sobes.tech
Junior

Кадом усулҳои давраи ҳаёти Activity-ро медонед ва онҳо чӣ гуна иҷро мешаванд?

sobes.tech AI

Ҷавоб аз AI

  • onCreate(): Құрыла бастағанда шақырылады. UI және деректерді инициализациялау үшін пайдаланылады.
  • onStart(): Activity көрінетін болады қолданушыға.
  • onResume(): Activity белсенді болады және алдыңғы жоспарға шығады. Қолданушы оған әсер ете алады.
  • onPause(): Activity артқы жоспарға өтсе немесе басқа Activity оны жартылай жабса шақырылады. Жылдам қалпына келтіру үшін күйді сақтау үшін пайдаланылады.
  • onStop(): Activity қолданушыға көрінбейді. Қолданылмайтын ресурстарды босату үшін пайдаланылады.
  • onDestroy(): Activity жойылмас бұрын шақырылады. Ресурстарды соңғы тазалау үшін пайдаланылады.
  • onRestart(): onStop() кейін шақырылады, Activity қайта көрінетін болады.

Іске қосу кезінде әдістердің орындалу тәртібі: onCreate() -> onStart() -> onResume().

Артқы жоспарға өту кезінде (мысалы, Үй батырмасын басқанда): 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)
        // Күйді қалпына келтіру
    }
}