Xamarin.Forms Hızlı İşleyiciler
Geleneksel olarak, Android'de özgün denetim işleyicilerinin çoğu iki görünümden oluşur:
- veya gibi bir yerel
ButtonTextViewdenetim. - Düzen
ViewGroupçalışmalarının, hareket işlemenin ve diğer görevlerin bazılarını ele alan bir kapsayıcı.
Ancak, bu yaklaşımın her mantıksal denetim için iki görünüm oluşturularak daha fazla bellek gerektiren daha karmaşık bir görsel ağaç ve ekranda işlemek için daha fazla işleme ile sonuçlandırılacak performans üzerinde bir etkileri vardır.
Hızlı işleyiciler, bir denetimin düşük ve işleme maliyetlerini Xamarin.Forms tek bir görünümde azaltır. Bu nedenle, iki görünüm oluşturmak ve 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 duraklamaları ile sonuç verir).
Hızlı işleyiciler Android'de aşağıdaki Xamarin.Forms denetimler için kullanılabilir:
İşlevsel olarak, bu hızlı işleyiciler eski işleyicilerden farklı değildir. Xamarin.Forms4.0'dan itibaren tüm uygulamaları hedefleme varsayılan FormsAppCompatActivity olarak bu hızlı işleyicileri kullanır. ve dahil olmak üzere tüm yeni denetimler ImageButton için CollectionView işleyiciler, hızlı işleyici yaklaşımını kullanır.
Hızlı işleyiciler kullanırken performans geliştirmeleri, düzenin karmaşıklığına bağlı olarak her uygulama için farklılık gösterir. Örneğin, her satırdaki hücreler hızlı işleyiciler kullanan denetimlerden oluşur ve bu da daha sorunsuz kaydırmayla sonuçlansa da, binlerce veri içeren bir satırda kaydırma yapılırken x2'nin performans geliştirmeleri ListView mümkündür.
Not
Eski işleyiciler için kullanılan yaklaşımla hızlı işleyiciler için özel işleyiciler 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:
çağırmadan önce sınıfınıza aşağıdaki kod satırı ekleyerek eski
MainActivityişleyicileriForms.Initetkinleştirme:Forms.SetFlags("UseLegacyRenderers");Eski işleyicileri hedef alan özel işleyicileri kullanma. Mevcut özel işleyiciler, eski işleyicilerle çalışmaya devam eder.
Farklı
View.Visualişleyiciler kullanan , gibi farklı birMaterialbelirtme. Malzeme Görseli hakkında daha fazla bilgi için Xamarin.Forms Material Visual bkz. .