Xamarin.Forms Convertisseurs rapides
Traditionnellement, la plupart des convertisseurs de contrôle d’origine sur Android sont composés de deux vues :
- Un contrôle natif, tel qu’un
Button
ouTextView
. ViewGroup
Conteneur qui gère certains des travaux de disposition, la gestion des mouvements et d’autres tâches.
Toutefois, cette approche a une incidence sur les performances dans laquelle deux vues sont créées pour chaque contrôle logique, ce qui entraîne une arborescence visuelle plus complexe nécessitant plus de mémoire et un traitement plus grand pour le rendu à l’écran.
Les convertisseurs rapides réduisent l’inflation et le rendu des coûts d’un Xamarin.Forms contrôle en une seule vue. Par conséquent, au lieu de créer deux vues et de les ajouter à l’arborescence de vues, une seule est créée. Cela améliore les performances en créant moins d’objets, ce qui signifie à son tour une arborescence d’affichage moins complexe et moins de mémoire (ce qui entraîne également moins de pauses de garbage collection).
Les convertisseurs rapides sont disponibles pour les contrôles suivants dans Xamarin.Forms Android :
Fonctionnellement, ces convertisseurs rapides ne sont pas différents des renderers hérités. À partir de Xamarin.Forms la version 4.0, toutes les applications ciblant FormsAppCompatActivity
utiliseront ces convertisseurs rapides par défaut. Les renderers pour tous les nouveaux contrôles, y compris ImageButton
et CollectionView
, utilisent l’approche du convertisseur rapide.
Les améliorations des performances lors de l’utilisation de convertisseurs rapides varient pour chaque application, en fonction de la complexité de la disposition. Par exemple, les améliorations de performances de x2 sont possibles lors du défilement d’une ListView
liste contenant des milliers de lignes de données, où les cellules de chaque ligne sont constituées de contrôles qui utilisent des renderers rapides, ce qui entraîne un défilement visiblement plus lisse.
Remarque
Les renderers personnalisés peuvent être créés pour les renderers rapides à l’aide de la même approche que celle utilisée pour les renderers hérités. Pour plus d’informations, consultez Renderers personnalisés.
Compatibilité descendante
Les convertisseurs rapides peuvent être remplacés par les approches suivantes :
Activation des renderers hérités en ajoutant la ligne de code suivante à votre
MainActivity
classe avant d’appelerForms.Init
:Forms.SetFlags("UseLegacyRenderers");
Utilisation de renderers personnalisés qui ciblent les renderers hérités. Tous les renderers personnalisés existants continueront de fonctionner avec les renderers hérités.
Spécification d’un autre
View.Visual
convertisseur, tel queMaterial
, qui utilise différents renderers. Pour plus d’informations sur le visuel matériel, consultez Xamarin.Forms Visuel matériel.