Junior
Quelles méthodes du cycle de vie de l'Activity connaissez-vous et comment sont-elles exécutées?
sobes.tech IA
Réponse de l'IA
onCreate(): Appelé lors de la première création de l'Activity. Utilisé pour initialiser l'interface utilisateur et les données.onStart(): L'Activity devient visible pour l'utilisateur.onResume(): L'Activity devient active et est au premier plan. L'utilisateur peut interagir avec elle.onPause(): Appelé lorsque l'Activity passe en arrière-plan ou qu'une autre Activity la couvre partiellement. Utilisé pour sauvegarder l'état à restaurer rapidement.onStop(): L'Activity n'est plus visible pour l'utilisateur. Utilisé pour libérer les ressources inutilisées.onDestroy(): Appelé avant que l'Activity ne soit détruite. Utilisé pour nettoyer les ressources finales.onRestart(): Appelé aprèsonStop(), lorsque l'Activity redevient visible.
Séquence d'exécution des méthodes au démarrage : onCreate() -> onStart() -> onResume().
Séquence lors du passage en arrière-plan (par exemple, en appuyant sur le bouton Accueil) : onPause() -> onStop().
Séquence lors du retour du fond : onRestart() -> onStart() -> onResume().
Séquence lors de la destruction de l'Activity : onPause() -> onStop() -> onDestroy().
Lors de la rotation de l'écran, l'Activity est détruite et recréée. Séquence : onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume(). Pour sauvegarder l'état, utilisez onSaveInstanceState() (appelé avant onStop()) et la restauration dans onCreate() ou onRestoreInstanceState() (appelé après onStart()).
class MyActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main) // Initialisation de l'UI
// Restaurer l'état depuis savedInstanceState
}
override fun onStart() {
super.onStart()
// L'Activity devient visible
}
override fun onResume() {
super.onResume()
// L'Activity est au premier plan, disponible pour interaction
}
override fun onPause() {
super.onPause()
// L'Activity passe en arrière-plan
// Sauvegarder l'état rapidement restaurable
}
override fun onStop() {
super.onStop()
// L'Activity n'est pas visible
// Libérer les ressources
}
override fun onDestroy() {
super.onDestroy()
// L'Activity est détruite
// Nettoyage final des ressources
}
override fun onRestart() {
super.onRestart()
// L'Activity revient du fond
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
// Sauvegarder l'état avant la destruction
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
// Restaurer l'état
}
}