Junior
Ce metode ale ciclului de viață al Activity-ului cunoști și cum sunt executate?
sobes.tech AI
Răspuns de la AI
onCreate(): Se apelează la prima creare a Activity. Folosit pentru inițializarea UI și a datelor.onStart(): Activity devine vizibilă pentru utilizator.onResume(): Activity devine activă și se află pe primul plan. Utilizatorul poate interacționa cu ea.onPause(): Se apelează când Activity trece în fundal sau o altă Activity o acoperă parțial. Folosit pentru salvarea stării care trebuie restaurată rapid.onStop(): Activity nu mai este vizibilă pentru utilizator. Folosit pentru eliberarea resurselor neutilizate.onDestroy(): Se apelează înainte ca Activity să fie distrusă. Folosit pentru curățarea finală a resurselor.onRestart(): Se apelează dupăonStop(), când Activity devine din nou vizibilă.
Secvența de execuție a metodelor la pornire: onCreate() -> onStart() -> onResume().
Secvența la trecerea în fundal (de exemplu, apăsarea butonului Home): onPause() -> onStop().
Secvența la revenirea din fundal: onRestart() -> onStart() -> onResume().
Secvența la distrugerea Activity: onPause() -> onStop() -> onDestroy().
La rotirea ecranului, Activity este distrusă și recreată. Secvența: onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume(). Pentru salvarea stării, se folosește onSaveInstanceState() (apelat înainte de onStop()) și restaurarea în onCreate() sau onRestoreInstanceState() (apelată după onStart()).
class MyActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main) // Inițializarea UI
// Restaurarea stării din savedInstanceState
}
override fun onStart() {
super.onStart()
// Activity devine vizibilă
}
override fun onResume() {
super.onResume()
// Activity este în prim plan, disponibilă pentru interacțiune
}
override fun onPause() {
super.onPause()
// Activity trece în fundal
// Salvarea stării pentru restaurare rapidă
}
override fun onStop() {
super.onStop()
// Activity nu mai este vizibilă
// Eliberarea resurselor
}
override fun onDestroy() {
super.onDestroy()
// Activity este distrusă
// Curățare finală a resurselor
}
override fun onRestart() {
super.onRestart()
// Activity revine din fundal
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
// Salvarea stării înainte de distrugere
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
// Restaurarea stării
}
}