Junior
Kokius veiklos ciklo metodus žinote ir kaip jie vykdomi?
sobes.tech AI
Atsakymas iš AI
onCreate(): Iškviečiama pirmą kartą sukuriant Activity. Naudojama UI ir duomenų inicializacijai.onStart(): Activity tampa matoma vartotojui.onResume(): Activity tampa aktyvi ir yra priekyje. Vartotojas gali su ja sąveikauti.onPause(): Iškviečiama, kai Activity pereina į foną arba kita Activity ją dalinai uždengia. Naudojama būsenos išsaugojimui, kurią reikia greitai atkurti.onStop(): Activity nebėra matoma vartotojui. Naudojama išteklių išlaisvinimui.onDestroy(): Iškviečiama prieš Activity sunaikinimą. Naudojama išteklių galutiniam valymui.onRestart(): PoonStop(), kai Activity vėl tampa matoma.
Vykdymo sekos metodai paleidžiant: onCreate() -> onStart() -> onResume().
Sekos metodai pereinant į foną (pavyzdžiui, paspaudus Home mygtuką): onPause() -> onStop().
Sekos metodai grįžtant iš fono: onRestart() -> onStart() -> onResume().
Sekos metodai sunaikinant Activity: onPause() -> onStop() -> onDestroy().
Pakeitus ekraną, Activity sunaikinama ir kuriama iš naujo. Sekos: onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume(). Būsenos išsaugojimui naudojama onSaveInstanceState() (kviečiama prieš onStop()) ir atkūrimas onCreate() arba onRestoreInstanceState() (kviečiama po onStart()).
class MyActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main) // UI inicializacija
// Būsenos atkūrimas iš savedInstanceState
}
override fun onStart() {
super.onStart()
// Activity tampa matoma
}
override fun onResume() {
super.onResume()
// Activity yra priekyje, pasiekiama sąveikai
}
override fun onPause() {
super.onPause()
// Activity pereina į foną
// Greitai atkuriamo būsenos išsaugojimas
}
override fun onStop() {
super.onStop()
// Activity nematoma
// Išteklių išlaisvinimas
}
override fun onDestroy() {
super.onDestroy()
// Activity sunaikinama
// Galutinis išteklių valymas
}
override fun onRestart() {
super.onRestart()
// Activity grįžta iš fono
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
// Būsenos išsaugojimas prieš sunaikinimą
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
// Būsenos atkūrimas
}
}