Модули подготовки отчетов Xamarin.Forms FastXamarin.Forms Fast Renderers

В большинстве случаев большая часть исходного элемента управления модулями подготовки отчетов в Android состоят из двух представлений:Traditionally, most of the original control renderers on Android are composed of two views:

  • Собственный элемент управления, такие как Button или TextView.A native control, such as a Button or TextView.
  • Контейнер ViewGroup , обрабатывает часть работы макета, обработку жеста и других задач.A container ViewGroup that handles some of the layout work, gesture handling, and other tasks.

Тем не менее данный подход имеет неявно производительности, в том, что два представления создаются для каждого логического контроля, что приводит к более сложные визуального дерева, которая требует больше памяти и большего объема обработки для подготовки к просмотру на экране.However, this approach has a performance implication in that two views are created for each logical control, which results in a more complex visual tree that requires more memory, and more processing to render on screen.

Быстрые отрисовщики сокращают затраты на отрисовку элемента управления Xamarin.Forms в одном представлении.Fast renderers reduce the inflation and rendering costs of a Xamarin.Forms control into a single view. Таким образом вместо создания два представления и добавление их в дерево представления, создается только один.Therefore, instead of creating two views and adding them to the view tree, only one is created. Это повышает производительность, создав меньшее количество объектов, которые в свою очередь означает, что упрощает представление дерева, и сокращается использование памяти (что также приводит к меньше пауз сбор мусора).This improves performance by creating fewer objects, which in turn means a less complex view tree, and less memory use (which also results in fewer garbage collection pauses).

Быстрые отрисовщики доступны для следующих элементов управления в Xamarin.Forms в Android:Fast renderers are available for the following controls in Xamarin.Forms on Android:

С функциональной точки зрения эти быстрые отрисовщики ничем не отличаются, чтобы устаревшие модули подготовки отчетов.Functionally, these fast renderers are no different to the legacy renderers. С Xamarin.Forms версии 4.0 и выше, все приложения, предназначенные для FormsAppCompatActivity будет использовать эти быстрые отрисовщики по умолчанию.From Xamarin.Forms 4.0 onwards, all applications targeting FormsAppCompatActivity will use these fast renderers by default. Модули подготовки отчетов для всех новых элементов управления, включая ImageButton и CollectionView , следует использовать быстрый модуль подготовки отчетов.Renderers for all new controls, including ImageButton and CollectionView, use the fast renderer approach.

Повышение производительности при использовании быстрые отрисовщики индивидуальны для каждого приложения, в зависимости от сложности макета.Performance improvements when using fast renderers will vary for each application, depending upon the complexity of the layout. Например, повышение производительности в выпуске x2 возможны при прокрутке ListView содержащих тысячи строк данных, где ячейки в каждой строке состоят из элементов управления, использование быстрых отрисовщиков, что приводит к визуально Плавный прокрутки.For example, performance improvements of x2 are possible when scrolling through a ListView containing thousands of rows of data, where the cells in each row are made of controls that use fast renderers, which results in visibly smoother scrolling.

Примечание

Можно создать пользовательские модули подготовки отчетов для быстрой модулей подготовки отчетов, с помощью тот же подход, что и для предыдущих версий модулей подготовки отчетов.Custom renderers can be created for fast renderers using the same approach as used for the legacy renderers. Дополнительные сведения см. в статье Пользовательские отрисовщики.For more information, see Custom Renderers.

Обратная совместимостьBackwards compatibility

Быстрые отрисовщики можно переопределить с помощью следующих подходов:Fast renderers can be overridden with the following approaches:

  1. Включение устаревшие модули подготовки отчетов, добавив следующую строку кода, чтобы ваши MainActivity класса перед вызовом метода Forms.Init:Enabling the legacy renderers by adding the following line of code to your MainActivity class before calling Forms.Init:

    Forms.SetFlags("UseLegacyRenderers");
    
  2. С помощью пользовательских модулей подготовки отчетов, предназначенных для предыдущих версий модулей подготовки отчетов.Using custom renderers that target the legacy renderers. Все существующие пользовательские модули подготовки отчетов будет продолжать работать с предыдущих версий модулей подготовки отчетов.Any existing custom renderers will continue to function with the legacy renderers.

  3. Указания другого View.Visual, такие как Material, который использует различных модулей подготовки отчетов.Specifying a different View.Visual, such as Material, that uses different renderers. Дополнительные сведения о Visual материал, см. в разделе Xamarin.Forms материал Visual.For more information about Material Visual, see Xamarin.Forms Material Visual.