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 ou TextView.
  • ViewGroup Conteneur qui gère une partie du travail de disposition, de la gestion des mouvements et d’autres tâches.

Toutefois, cette approche a une incidence sur les performances dans le fait que deux vues sont créées pour chaque contrôle logique, ce qui se traduit par une arborescence visuelle plus complexe qui nécessite plus de mémoire et plus de traitement pour le rendu à l’écran.

Les convertisseurs rapides réduisent l’inflation et les coûts de rendu d’un Xamarin.Forms contrôle dans une seule vue. Par conséquent, au lieu de créer deux vues et de les ajouter à l’arborescence d’affichage, 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 d’utilisation de la mémoire (ce qui entraîne également moins de pauses de garbage collection).

Les convertisseurs rapides sont disponibles pour les contrôles suivants sur 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 utilisent 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, des améliorations des performances de x2 sont possibles lors du défilement d’un contenant des milliers de lignes de données, où les cellules de chaque ligne sont constituées de contrôles qui utilisent des convertisseurs rapides, ce qui se traduit par un ListView défilement visiblement plus fluide.

Notes

Des 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 avec les approches suivantes :

  1. Activation des convertisseurs hérités en ajoutant la ligne de code suivante à votre MainActivity classe avant d’appeler Forms.Init:

    Forms.SetFlags("UseLegacyRenderers");
    
  2. Utilisation de renderers personnalisés qui ciblent les renderers hérités. Tous les convertisseurs personnalisés existants continueront de fonctionner avec les renderers hérités.

  3. Spécification d’un autre View.Visual, tel que Material, qui utilise différents convertisseurs. Pour plus d’informations sur Material Visual, consultez Xamarin.Forms Material Visual.