Xamarin.Forms 快速轉譯器
傳統上,Android 上的大部分原始控件轉譯器是由兩個檢視所組成:
- 原生控件,例如
Button
或TextView
。 - 處理某些版面配置工作、手勢處理和其他工作的容器
ViewGroup
。
不過,此方法在兩個檢視中會針對每個邏輯控件建立效能影響,這會導致更複雜的可視化樹狀結構,需要更多記憶體,以及在螢幕上轉譯更多處理。
快速轉譯器可將控件的 Xamarin.Forms 通貨膨脹和轉譯成本降低為單一檢視。 因此,與其建立兩個檢視,而是將它們新增至檢視樹狀結構,只會建立一個檢視。 這可藉由建立較少的物件來改善效能,這又表示較不複雜的檢視樹狀結構,以及較少的記憶體使用(這也會導致較少的垃圾收集暫停)。
快速轉譯器適用於 Android 上的 Xamarin.Forms 下列控件:
在功能上,這些快速轉譯器與舊版轉譯器並無不同。 從 Xamarin.Forms 4.0 開始,以為目標 FormsAppCompatActivity
的所有應用程式預設都會使用這些快速轉譯器。 所有新控件的轉譯器,包括 ImageButton
和 CollectionView
,都使用快速轉譯器方法。
使用快速轉譯器時的效能改善會因配置的複雜性而有所不同。 例如,當卷動包含數千個數據列的捲動 ListView
時,可能會改善 x2 的效能,其中每個數據列中的單元格是由使用快速轉譯器的控件所組成,這會導致明顯平滑的捲動。
注意
您可以使用舊版轉譯器所使用的相同方法,為快速轉譯器建立自定義轉譯器。 如需詳細資訊,請參閱自訂呈現方式。
回溯相容性
您可以使用下列方法覆寫快速轉譯器:
在呼叫
Forms.Init
之前,將下列程式代碼行新增至類別MainActivity
,以啟用舊版轉譯器:Forms.SetFlags("UseLegacyRenderers");
使用以舊版轉譯器為目標的自定義轉譯器。 任何現有的自定義轉譯器都會繼續使用舊版轉譯器運作。
指定使用不同轉譯器的不同
View.Visual
,例如Material
。 如需Material Visual的詳細資訊,請參閱 Xamarin.Forms Material Visual。