Junior
¿Qué métodos del ciclo de vida de Activity conoces y cómo se ejecutan?
sobes.tech AI
Respuesta de la IA
onCreate(): Se llama cuando la Activity se crea por primera vez. Se usa para inicializar la interfaz de usuario y los datos.onStart(): La Activity se vuelve visible para el usuario.onResume(): La Activity se vuelve activa y está en primer plano. El usuario puede interactuar con ella.onPause(): Se llama cuando la Activity pasa a segundo plano o una otra Activity la cubre parcialmente. Se usa para guardar el estado que necesita ser restaurado rápidamente.onStop(): La Activity ya no es visible para el usuario. Se usa para liberar recursos no utilizados.onDestroy(): Se llama antes de que la Activity sea destruida. Se usa para limpiar los recursos finales.onRestart(): Se llama después deonStop(), cuando la Activity vuelve a ser visible.
Secuencia de ejecución de métodos al iniciar: onCreate() -> onStart() -> onResume().
Secuencia de ejecución al pasar a segundo plano (por ejemplo, al presionar el botón de inicio): onPause() -> onStop().
Secuencia de ejecución al volver del fondo: onRestart() -> onStart() -> onResume().
Secuencia de ejecución al destruir la Activity: onPause() -> onStop() -> onDestroy().
Al girar la pantalla, la Activity se destruye y se crea de nuevo. Secuencia: onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume(). Para guardar el estado, se usa onSaveInstanceState() (llamado antes de onStop()) y la restauración en onCreate() o onRestoreInstanceState() (llamado después de onStart()).
class MyActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main) // Inicialización de la UI
// Restaurar estado desde savedInstanceState
}
override fun onStart() {
super.onStart()
// La Activity se vuelve visible
}
override fun onResume() {
super.onResume()
// La Activity está en primer plano, disponible para interacción
}
override fun onPause() {
super.onPause()
// La Activity pasa a segundo plano
// Guardar estado que se puede restaurar rápidamente
}
override fun onStop() {
super.onStop()
// La Activity no es visible
// Liberar recursos
}
override fun onDestroy() {
super.onDestroy()
// La Activity se destruye
// Limpieza final de recursos
}
override fun onRestart() {
super.onRestart()
// La Activity regresa del fondo
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
// Guardar estado antes de destruir
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
// Restaurar estado
}
}