mobile-best-practice/chapters/MBP_013_fr.md

2.5 KiB
Raw Blame History

Utiliser le chargement paresseux

Identifiants

// TODO

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

Lorsquune personne ne consulte pas la totalité dun é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