Aracılığıyla paylaş


Xamarin.Forms Hızlı oluşturucular

Geleneksel olarak, Android'de özgün denetim işleyicilerinin çoğu iki görünümden oluşur:

  • veya TextViewgibi yerel bir Button denetim.
  • Bazı düzen işlerini, hareket işlemeyi ve diğer görevleri işleyen kapsayıcı ViewGroup .

Ancak, bu yaklaşımın her mantıksal denetim için iki görünümün oluşturulmasında bir performans etkisi vardır ve bu da daha fazla bellek gerektiren daha karmaşık bir görsel ağaç ve ekranda işlenmesi daha fazla işlem gerektirir.

Hızlı işleyiciler, bir Xamarin.Forms denetimin enflasyon ve işleme maliyetlerini tek bir görünümde azaltır. Bu nedenle, iki görünüm oluşturup bunları görünüm ağacına eklemek yerine yalnızca bir görünüm oluşturulur. Bu, daha az nesne oluşturarak performansı artırır; bu da daha az karmaşık bir görünüm ağacı ve daha az bellek kullanımı anlamına gelir (bu da daha az çöp toplama duraklamasına neden olur).

Hızlı işleyiciler, Android'de Xamarin.Forms aşağıdaki denetimler için kullanılabilir:

İşlevsel olarak, bu hızlı işleyiciler eski işleyicilerden farklı değildir. 4.0'dan Xamarin.Forms itibaren hedef alan FormsAppCompatActivity tüm uygulamalar varsayılan olarak bu hızlı işleyicileri kullanır. ve CollectionViewdahil olmak üzere ImageButton tüm yeni denetimler için işleyiciler hızlı işleyici yaklaşımını kullanır.

Hızlı işleyicileri kullanırken performans geliştirmeleri, düzenin karmaşıklığı bağlı olarak her uygulama için farklılık gösterir. Örneğin, x2'nin performans iyileştirmeleri, her satırdaki hücrelerin hızlı işleyiciler kullanan denetimlerden oluştuğu ve görünür şekilde daha düzgün kaydırmaya neden olan binlerce veri satırı içeren bir ListView satırda gezinirken mümkündür.

Not

Özel işleyiciler, eski işleyiciler için kullanılan yaklaşım kullanılarak hızlı işleyiciler için oluşturulabilir. Daha fazla bilgi için bkz. Özel Oluşturucular.

Geriye dönük uyumluluk

Hızlı işleyiciler aşağıdaki yaklaşımlarla geçersiz kılınabilir:

  1. çağrısından Forms.Initönce sınıfınıza MainActivity aşağıdaki kod satırını ekleyerek eski işleyicileri etkinleştirme:

    Forms.SetFlags("UseLegacyRenderers");
    
  2. Eski işleyicileri hedefleyen özel işleyicileri kullanma. Mevcut tüm özel işleyiciler eski işleyicilerle çalışmaya devam eder.

  3. Farklı işleyiciler kullanan, gibi Materialfarklı View.Visualbir belirterek. Malzeme Görseli hakkında daha fazla bilgi için bkz Xamarin.Forms . Malzeme Görseli.