Xamarin.Forms Representadores rápidos

Tradicionalmente, la mayoría de los representadores de control originales en Android se componen de dos vistas:

  • Control nativo, como o ButtonTextView .
  • Contenedor que ViewGroup controla parte del trabajo de diseño, el control de gestos y otras tareas.

Sin embargo, este enfoque tiene una implicación en el rendimiento en que se crean dos vistas para cada control lógico, lo que da como resultado un árbol visual más complejo que requiere más memoria y más procesamiento para representar en pantalla.

Los representadores rápidos reducen la inflación y los costos de representación Xamarin.Forms de un control en una sola vista. Por lo tanto, en lugar de crear dos vistas y agregarlas al árbol de vistas, solo se crea una. Esto mejora el rendimiento al crear menos objetos, lo que a su vez significa un árbol de vista menos complejo y menos uso de memoria (lo que también da lugar a menos pausas de recolección de elementos no utilizados).

Los representadores rápidos están disponibles para los siguientes controles en Xamarin.Forms en Android:

Funcionalmente, estos representadores rápidos no son diferentes de los representadores heredados. A partir de la versión 4.0, todas las aplicaciones que tienen como destino Xamarin.FormsFormsAppCompatActivity usarán estos representadores rápidos de forma predeterminada. Los representadores de todos los nuevos controles, ImageButton incluidos y CollectionView , usan el enfoque de representador rápido.

Las mejoras de rendimiento al usar representadores rápidos variarán para cada aplicación, en función de la complejidad del diseño. Por ejemplo, las mejoras de rendimiento de x2 son posibles al desplazarse por un que contiene miles de filas de datos, donde las celdas de cada fila se realizan con controles que usan representadores rápidos, lo que da lugar a un desplazamiento visiblemente más ListView suave.

Nota:

Los representadores personalizados se pueden crear para representadores rápidos con el mismo enfoque que se usa para los representadores heredados. Para obtener más información, consulte Custom Renderers (Representadores personalizados).

Compatibilidad con versiones anteriores

Los representadores rápidos se pueden invalidar con los enfoques siguientes:

  1. Para habilitar los representadores heredados, agregue la siguiente línea de código a la MainActivity clase antes de llamar a Forms.Init :

    Forms.SetFlags("UseLegacyRenderers");
    
  2. Usar representadores personalizados que se dirigirán a los representadores heredados. Los representadores personalizados existentes seguirán funcionando con los representadores heredados.

  3. Especificar un elemento View.Visual diferente, como Material , que usa representadores diferentes. Para obtener más información sobre Material Visual, vea Xamarin.Forms Material Visual .