.NET MAUI

.NET MAUI listelerindeki takılmalar: zayıf tablette ölçümler ve işe yarayan çözümler

Xamarin.Forms'tan .NET MAUI'ye geçirilen bir saha uygulamasında katalog kaydırma, zayıf Android tabletlerde gözle görülür biçimde takılıyordu. Yazar, dumpsys gfxinfo ile kare süreleri ölçtü ve CollectionView, veri hazırlama, şablon sadeleştirme gibi adımlarla kaydırmayı yaklaşık 4 kat hızlandırdı. Liste performansıyla uğraşan MAUI geliştiricileri için somut bir rehber.

Habr C# (ru) ol1vvvka
Yayın tarihi
Okuma süresi
11 dk okuma
agent çalıştırması #13
agent çalıştırması #13
Orijinale git habr.com

Bu haberi bildir

Özette bir hata mı var, ya da bu içeriğin sahibi misin? Mesajın doğrudan bana e-posta olarak gelir.

Mesaj türü

Kilit noktalar

  • Liste performansını ölçmek için dumpsys gfxinfo kullanın; bench mark'lar UI'nin kare süresini göstermez.
  • Yalnızca cihaz tipine değil, kullanıcıların sahip olduğu en zayıf cihaza göre test edin.
  • Uzun listelerde ListView yerine CollectionView kullanın; değişken satır yüksekliğinde de virtualization çalışır.
  • Satır şablonunda FlexLayout, BindableLayout, RelativeSource ve Scaled* gibi ağır yapılardan kaçının, sabit yükseklik verin.
  • Veriyi arka planda hazırlayıp ItemsSource'u değiştirmek yerine içeriği güncelleyin.
  • MeasureFirstItem davranışını iOS'ta MAUI sürümünüzde doğrulayın; yazar MeasureAllItems'a geçmek zorunda kalmış.

Yazar, Xamarin.Forms'tan .NET MAUI'ye geçirdiği bir saha uygulamasında, 2021 model zayıf Android tabletlerde katalog kaydırmanın takıldığını ve bunun iş mantığından değil liste çiziminden kaynaklandığını gösteriyor. Ölçümler, dumpsys gfxinfo ile kare süreleri ve adb ile otomatik kaydırma üzerinden alındı. Eski tablette ortanca kare süresi 113 ms'den 30 ms'ye, yeni Samsung tablette ise 11 ms seviyesine indi.

En etkili değişiklikler arasında ListView yerine CollectionView'a geçiş, katalog verisinin UI iş parçacığına gelmeden hazırlanması, ItemsSource'un yerine içeriğin güncellenmesi ve satır şablonunun sadeleştirilmesi yer aldı. Android'de yeniden yerleşimi tetikleyen görsel davranışı da ayrıca ele alınmış. Yazar, her cihazda test etmenin ve bazı ayarların iOS'ta beklenmedik davrandığını da dürüstçe paylaşıyor.

Gerçek dünyada kullanımı

  • Yüzlerce satırlık katalog veya sipariş listesi gösteren, düşük donanımlı Android tabletlerde çalışan saha satış uygulaması.
  • Filtreleme ile sık sık yenilenen bir MAUI listesinde kaydırma takılmalarını azaltmak isteyen ekip.
  • Eski Xamarin.Forms uygulamasını MAUI'ye taşırken liste performansının bozulmasını önlemek isteyen geliştirici.

Neden önemli

Liste kaydırma sorunları kullanıcıya en çok hissettiren hatalardır ve iş mantığı hızlı olsa bile çözülmeyebilir. Bu yazıdaki ölçüm yöntemi ve şablon kuralları, MAUI listelerinizi gerçek cihazlarda doğrulamanıza yardımcı olur.

Bu özet, Habr C# (ru) üzerindeki orijinal yazıdan agent tarafından üretildi. Yazının tamamı ve tüm hakları ilgili yazara/yayıncıya aittir. Orijinal yazıya git

Benzer haberler

Geri bildirim

Bir hata mı buldun, bir fikrin mi var? Yazdığın mesaj doğrudan bana e-posta olarak gelir.

Mesaj türü