Xamarin.Forms 快速轉譯器

傳統上,Android 上的大部分原始控件轉譯器是由兩個檢視所組成:

  • 原生控件,例如 ButtonTextView
  • 處理某些版面配置工作、手勢處理和其他工作的容器 ViewGroup

不過,此方法在兩個檢視中會針對每個邏輯控件建立效能影響,這會導致更複雜的可視化樹狀結構,需要更多記憶體,以及在螢幕上轉譯更多處理。

快速轉譯器可將控件的 Xamarin.Forms 通貨膨脹和轉譯成本降低為單一檢視。 因此,與其建立兩個檢視,而是將它們新增至檢視樹狀結構,只會建立一個檢視。 這可藉由建立較少的物件來改善效能,這又表示較不複雜的檢視樹狀結構,以及較少的記憶體使用(這也會導致較少的垃圾收集暫停)。

快速轉譯器適用於 Android 上的 Xamarin.Forms 下列控件:

在功能上,這些快速轉譯器與舊版轉譯器並無不同。 從 Xamarin.Forms 4.0 開始,以為目標 FormsAppCompatActivity 的所有應用程式預設都會使用這些快速轉譯器。 所有新控件的轉譯器,包括 ImageButtonCollectionView,都使用快速轉譯器方法。

使用快速轉譯器時的效能改善會因配置的複雜性而有所不同。 例如,當卷動包含數千個數據列的捲動 ListView 時,可能會改善 x2 的效能,其中每個數據列中的單元格是由使用快速轉譯器的控件所組成,這會導致明顯平滑的捲動。

注意

您可以使用舊版轉譯器所使用的相同方法,為快速轉譯器建立自定義轉譯器。 如需詳細資訊,請參閱自訂呈現方式

回溯相容性

您可以使用下列方法覆寫快速轉譯器:

  1. 在呼叫 Forms.Init之前,將下列程式代碼行新增至類別MainActivity,以啟用舊版轉譯器:

    Forms.SetFlags("UseLegacyRenderers");
    
  2. 使用以舊版轉譯器為目標的自定義轉譯器。 任何現有的自定義轉譯器都會繼續使用舊版轉譯器運作。

  3. 指定使用不同轉譯器的不同 View.Visual,例如 Material。 如需Material Visual的詳細資訊,請參閱 Xamarin.Forms Material Visual