Udostępnij za pośrednictwem


Xamarin.Forms Szybkie programy renderowania

Tradycyjnie większość oryginalnych modułów renderujących kontrolki w systemie Android składa się z dwóch widoków:

  • Kontrolka natywna, taka jak lub ButtonTextView.
  • Kontener ViewGroup , który obsługuje niektóre zadania układu, obsługę gestów i inne zadania.

Jednak takie podejście ma wpływ na wydajność w tym, że dwa widoki są tworzone dla każdej kontrolki logicznej, co powoduje bardziej złożone drzewo wizualne wymagające większej ilości pamięci i więcej przetwarzania do renderowania na ekranie.

Szybkie programy renderacyjne zmniejszają inflację i koszty renderowania kontrolki Xamarin.Forms w jednym widoku. Dlatego zamiast tworzyć dwa widoki i dodawać je do drzewa widoków, tworzony jest tylko jeden. Poprawia to wydajność dzięki tworzeniu mniejszej liczby obiektów, co z kolei oznacza mniej złożone drzewo widoków i mniejsze użycie pamięci (co powoduje również mniej wstrzymania odzyskiwania pamięci).

Szybkie programy renderowania są dostępne dla następujących kontrolek w Xamarin.Forms systemie Android:

Funkcjonalnie te szybkie programy renderowania nie różnią się od starszych modułów renderujących. Od Xamarin.Forms wersji 4.0 wszystkie docelowe aplikacje będą domyślnie używać tych szybkich FormsAppCompatActivity programów renderujących. Programy renderujące dla wszystkich nowych kontrolek, w tym ImageButton i CollectionView, używają szybkiego podejścia do renderowania.

Ulepszenia wydajności podczas korzystania z szybkich modułów renderujących będą się różnić w zależności od złożoności układu. Na przykład ulepszenia wydajności x2 są możliwe podczas przewijania zawierającego ListView tysiące wierszy danych, gdzie komórki w każdym wierszu są tworzone z kontrolek korzystających z szybkich modułów renderujących, co skutkuje wyraźnie wygładzonym przewijaniem.

Uwaga

Niestandardowe programy renderujące można tworzyć dla szybkich rendererów przy użyciu tego samego podejścia, co w przypadku starszych modułów renderujących. Aby uzyskać więcej informacji, zobacz Niestandardowe programy renderujące.

Zgodność z poprzednimi wersjami

Szybkie programy renderowania można zastąpić następującymi metodami:

  1. Włączenie starszych modułów renderujących przez dodanie następującego wiersza kodu do MainActivity klasy przed wywołaniem metody Forms.Init:

    Forms.SetFlags("UseLegacyRenderers");
    
  2. Używanie niestandardowych modułów renderujących przeznaczonych dla starszych modułów renderujących. Wszystkie istniejące niestandardowe programy renderowania będą nadal działać ze starszymi modułami renderujących.

  3. Określanie innego View.Visualelementu , takiego jak Material, które używa różnych modułów renderujących. Aby uzyskać więcej informacji na temat wizualizacji Material Visual, zobacz Xamarin.Forms Material Visual.