39 lines
1.5 KiB
Markdown
39 lines
1.5 KiB
Markdown
|
## Éviter les animations
|
|||
|
|
|||
|
### Identifiants
|
|||
|
|
|||
|
// TODO
|
|||
|
|
|||
|
### Catégories
|
|||
|
|
|||
|
| Cycle de vie | Tiers | Responsable |
|
|||
|
|:---------:|:----:|:----:|
|
|||
|
| 2. Conception | Utilisateur/Terminal | UX/UI Designer |
|
|||
|
|
|||
|
### Indications
|
|||
|
|
|||
|
| Degré de priorité | Mise en oeuvre | Impact écologique |
|
|||
|
|:-------------------:|:-------------------------:|:---------------------:|
|
|||
|
| 4 | 3 | 5 |
|
|||
|
|
|||
|
|Ressources Economisées |
|
|||
|
|:----------------------------------------------------------:|
|
|||
|
| Processeur / Mémoire vive |
|
|||
|
|
|||
|
### Description
|
|||
|
|
|||
|
Les animations peuvent être très coûteuses en termes de cycles CPU et de consommation mémoire, car elle déclanche une phase de "Re-draw" voir de "Re-layout" à chaque frame (soit environ 50 fois par ms).
|
|||
|
. Il faut donc éviter au maximum les animations, et ne les utiliser que lorsqu’elles sont indispensables.
|
|||
|
|
|||
|
Si vous ne pouvez pas vous passer d’une animation, limitez-vous à l'animation de propriétés necessitant de ré-éxecuter uniquement la phase "Drawing". Par exemple : `alpha`, `translation`, `rotation`, `color`. A l'inverse, éviter l'animation de propriété nécessitant de ré-executer en plus la phase de "Layout". Par exemple : `padding`, `height`, `width`.
|
|||
|
|
|||
|
### Exemple
|
|||
|
|
|||
|
// TODO mettre des exemples en UI Toolkit et en Compose
|
|||
|
|
|||
|
### Principe de validation
|
|||
|
|
|||
|
| Le nombre ... | est inférieur ou égal à |
|
|||
|
|------------------------|:-----------------------:|
|
|||
|
| d'animations par écran | 1 |
|