L'une des optimisations faites par Jetpack Compose :
* Éviter le plus possible de recomposer un composant qui n’est pas impacté par un changement d’état.
Pour cela, Jetpack Compose calcule la "skipabilité" d'une fonction, en évaluant d'abord la **stabilité de ses paramètres**.
Stabilité des paramètres :
* **Immutable**
* **Stable** : Type mutable mais pour lequel Jetpack Compose sera notifié en cas de changement de l'une de ses propriétés publiques.
* **Unstable**
3 situations typiques où Jetpack Compose ne peut pas définir une fonction comme `skippable` :
1. La propriété est mutable à cause d'une variable mutable déclarée avec `var`
2. La propriété est de type `List`, `Set` ou `Map`. En effet, ces types sont considérés comme unstable par Compose.
3. La propriété utilise un type provenant d'une dépendance externe.
L'outil [Compose Compiler Report](https://developer.android.com/jetpack/compose/performance/stability/diagnose#compose-compiler) permet d'obtenir facilement un rapport analysant la stabilité des fonctions Composable d'un projet Android.