Utiliser le chargement paresseux
Identifiants
Catégories
Cycle de vie |
Tiers |
Responsable |
3. Réalisation (fabrication / développement) |
Réseau |
UX/UI Designer |
Indications
Degré de priorité |
Mise en oeuvre |
Impact écologique |
4 |
4 |
5 |
Ressources Economisées |
Processeur / Réseau |
Description
Lorsqu’une personne ne consulte pas la totalité d’un écran scrollable, pour éviter de charger toutes les ressources situées en dehors de la zone visible à l'écran, il est possible d'utiliser une RecyclerView (UI Toolkit original) ou un Lazy layout comme LazyColumn
(Jetpack Compose). En effet, ces composants appliquent la technique du chargement paresseux (lazy loading) qui consiste à ne charger un élément que lorsque son emplacement devient visible à l’écran.
Anti-pattern
Ne pas imbriquer une liste au chargement paresseux au sein d'un layout défilant dans le même sens
Avec le UI Toolkit original, il est important de ne pas envelopper une RecyclerView
au sein d'un layout de type NestedScrollView
scrollant dans la même direction. En effet, ce dernier ayant besoin de connaitre ses dimensions pour être rendu à l'écran, va forcer la mesure de tous ses enfants, et donc le rendu de tous les enfants de la RecyclerView. L'avantage du chargement paresseux de la RecyclerView est alors perdu. Dans cette situation, il est préférable de considérer l'ensemble de la vue comme une RecyclerView
pouvant accueillir différent type d'éléments.
Pour la même raison, avec Jetpack Compose, il ne faut pas envelopper un lazy layout au sein d'un layout standard scrollable dans la même direction. La bonne pratique a appliqué dans cette situation est documentée ici.
Principe de validation
Le nombre ... |
est inférieur ou égal à |
d'écrans défilables n'utilisant pas le chargement paresseux |
0 |