Sobes.tech
Junior — Middle

Peut-on déterminer pendant l'exécution si le système a été recompilé?

sobes.tech IA

Réponse de l'IA

Oui, sur Android, il est possible de déterminer si le système a été recomposé (recréé) lors de l'exécution, par exemple lors d'un changement de configuration (rotation de l'écran, changement de langue, etc.). Cela se manifeste généralement par la recréation de l'Activity ou du Fragment.

Pour le déterminer, vous pouvez utiliser les méthodes du cycle de vie, par exemple en vérifiant si onSaveInstanceState a été appelé, puis onCreate avec un savedInstanceState non vide.

Exemple:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    if (savedInstanceState != null) {
        // Le système a été recomposé, l'Activity a été recréée
    } else {
        // Premier lancement de l'Activity
    }
}

Vous pouvez également utiliser des drapeaux ou ViewModel, qui conservent l'état entre les recompositions, pour déterminer ce qui s'est passé lors de la recréation.