Teminat Performans için Reaksiyon Yerlisinde Yükleniyor
Table of Contents
En İyi Şekilde En İyi Şekilde Alın
Reaks Yerlisi, bu sorunları azaltmak için bir go-to çerçevesi haline geldi, geliştiricilerin JavaScript ve Reaktör ile yerel düzeyde uygulamaları kurmalarına izin verdi.Uygulamalar ölçeklendirme, performans şişeleri genellikle ortaya çıkıyor - özellikle ilk başlangıç sırasında.Bu genişleyen kılavuzda, Reaktif'te, her şeyi navigasyon ve görüntü ile ileri entegrasyonlara temel yüklemeye zorlayacağız.
Lazy Yükleniyor mu?
Lazy yükleme, bir nesnenin, bileşenin veya kaynağın ilklenmesini ertelemek için bir tasarım modelidir.Reaks Yerli bağlamında, bu, bir ekran veya bileşen yüklenmez ve kullanıcının görünürlüğüne kadar görünür hale gelmesi anlamına gelir. birincil hedefler şunlardır:
- [FONT:0)Faster ilk form[Dönetici:0)[Dönetici:0)[FONTD][/FONT=0))- Uygulama sadece temel bileşenlerle ortaya çıkıyor, bu nedenle kullanıcı içeriği daha erken görür.
- [FONT=0) Alçak bellek kullanımı[[[DÜT 1: 1) - Kullanılmamış bileşenler hafızada tutulmaz.
- [FONT:0]Gelişmiş bir tepkiye sahip olma [Dönetici:0))[Dönetici[Dönetici:0))) - Ana iplik başlangıçta ağır ithalat tarafından engellenmez.
React Navigation[Dönetici) gibi kütüphaneye özgü çözümler aracılığıyla veya ekran seviyesindeki tembel yükleme için dinamik ithalat yoluyla uygulanır.
Lazy'nin Faydaları Reaksiyon Yerlisi
tembel yükleme verimlerini geniş bir performans geliştirme yelpazesine kabul etmek:
- [FONT:0)Başlangıçta ilk paket büyüklüğü) - Kod bölme, JavaScript paketlerinin talep üzerine yüklenen daha küçük chunkslara kırılmasına izin verir. Bu kritiktir çünkü Redüktif Yerli uygulamalar, başlatılmış ve idam edilmiş tek bir JavaScript paketidir.
- [FONT:0) Etkileşimli (TTI) için zaman (Dönetici)) - Uygulama daha önce kullanılabilir hale gelir çünkü ağır hesaplamalar ve büyük kütüphane ithalatı ertelenir.
- [FONT:0)Better batarya hayatı) - Idle kaynakları yüklenemez, CPU kullanımını azaltır ve bataryayı korur.
- [FONT:0]Easier bakım[Dönetici:0)[Dönerge 1] – Lazy yükleme modüler kodu teşvik eder, kodu gezinme ve test etmek daha kolay hale getirir.
Bu avantajlar evrensel olsa da, tembel yükleme özellikle birçok ekran, karmaşık grafikler, zengin medya veya üçüncü taraf SDK'ları ile uygulamalar için değerlidir.
Lazy'yi Uygulamak Reakt.lazy ve Suspense
Reaksiyon Yerlisi, 0.62'den beri sürüm 0.62'dir. Ancak web için Reaktif ile kıyaslanmış nüanslar vardır. beton uygulama yoluyla yürüyebilelim.
Temel Kurulum
İlk olarak, uyumlu bir Reaksiyon Yerli versiyonu kullanıyorsanız (>=0.62) ve paketleyici (Metro) dinamik ithalatları desteklemek için yapılandırılır. Metro, sürüm 0,59'dan bu yana dinamik ithalat destekler.
Adım 1 – Lazy bir Bitirme Yükü
Örneğin, karmaşık bir grafik veya büyük bir liste oluşturun ve bunu kullanmak için [[Döntme:)
[FONT: 5)
2. Adım – Suspense ile
Kombine yüklenene kadar bir geri dönüş UI sağlayın:
(Allah’a) yemin ederim.
Reaksiyon için önemli Caveat
Web'de,ETHFLT:7, Reaktif.lazy.In Reaction Native,ENFLT:8'de mevcut ancak tüm bileşen türleri içinde mükemmel çalışmıyor - özellikle de yan etkiler için güvenen miras sınıf bileşenleri veya bileşenler.Her zaman kancaları kullanan en işlevsel bileşenleri test edin, iyi çalışır.
Gelişmiş Lazy Yükleme Teknikleri
Ekran-Level Lazy, Reaktör ile Yükleniyor
Mobil uygulamalarda tembel yükleme için en yaygın kullanım durumu, varsayılan yüklemedir. Reaktör, de facto navigasyon kütüphanesi, kutunun üzerinden kutuyu www.D.T:11 aracılığıyla destekler.
Reaktör ile Örnek 6:
[FONT=FONT][/FONT=FONT=)
[[0.prefetching[[Döntilmiş) ile daha fazla optimize edebilirsiniz: Bir kullanıcı bir sekme üzerinde veya bir ekrana doğru ilerlerken, sonraki ekranı önceden kullanmaya başlayabilirsiniz. ” veya manuel olarakFLT:14 çağrıları.
Lazy Yükleme Görüntüleri
Görüntüler genellikle mobil bir uygulamadaki en ağır varlıklardır.Rekreksiyon görüntüleri, hem de kutudan gelene kadar indirmelerini sağlar.0|react-native-fastT:2|portaj|).
FlatList ile sadece görünür sıralara örnek:
(Resulüm)
Bu yaklaşım, görünür pencere içindeki sadece eşyaların yapıldığına, daha fazla öğenin sanallaştırıldığına olanak sağlar.
Kod Reakt.lazy ve Reaks
Büyük uygulamalar için, Reaktör'ün 03.A.D.D.D.G.R.D.G.5. işlevi ile birlikte ekran başına JavaScript paketlerini aynı zamanda ayırabilirsiniz, böylece yukarıdaki olarak tembelliği ile kapatabilirsiniz.
En İyi Uygulamalar Lazy için En İyi Uygulamalar Reaks
- [FONT:0]Kariyer yüküne ne yükeceğini bilmiyorum) – En ağır bileşenleri bulmak için uygulamanızı kullanın. Tipik olarak bunlar grafikler, haritalar, video oyuncular, karmaşık formlar ve ekranlar kullanıcı nadiren ziyaret eder.
- [FONT:0)Provide anlamlı geri dönüşler[[DÜT:1) – iskelet ekranları kullanın, shimmer etkiler veya etkinlik göstergeleri kullanın, böylece kullanıcı bir şey olduğunu bilir.
- [FONT=0)Combine with caching[[DÜT:1) – Bir bileşen yüklenirken, onu devlet yönetimi (örneğin Redux, Re Mix) veya ESFLT:21 kullanarak hafızada tutmakta dikkate alınır.
- [FONT=0]Bir tek bir yüklemeden yoksundur.[Dönetici ithalatın ve Suspense'in yükü çok küçük parçalar için (örneğin, tek bir İLDİĞİ) aşırı yarar sağlayabilir.
- [[Düzücükler üzerinde test edin[Döneticiler için] - Performans kazanımlar sınırlı RAM ve daha yavaş CPU'lar ile cihazlarda en belirgindir.Bu koşulları taklit etmek.
- [FONT:0) Metronun doğrusal olarak kullanılması - Dinamik ithalat kullanamayan eski projeler için Metro, TANITIMUM:23) ile birlikte, Metro LOCFLT:24 ile birlikte, bu daha düşük seviyeli bir yaklaşımdır.
Ortak Pitfalls ve Them'dan Nasıl Kaçırmak
1. Over-Lazy Yükleniyor
Lazy yükleme her tek bileşen çok fazla yükleme spinners ile bir atlayıcı kullanıcı deneyimine yol açabilir. Ekranlara ve pahalı bileşenlere odaklanın.
2. Lazy Geçişler sırasında Yükleniyor
Eğer tembel bir ekran yüklerseniz, kullanıcının bir yığın veya sekme geçişi ile hareket ettirdiği bir ekran, yükleme durumu bir jarring gecikmesine neden olabilir. Önceki ekran monte edildiğinde veya kullanıcı bir düğmeye geçtiğinde ön değerlendirmeyi düşünün.
3. Hataları işlemez
Dinamik ithalat, şebeke sorunları veya yolsuzlukları nedeniyle başarısız olabilir.Suspense'deki hataları yakalamak için [[DüzDÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜSÜS
[Üye: 9/01/2012)
4. Across Platformsistent Davranışları
iOS ve Android farklı olarak işlenebilir. Her iki platformda her zaman test edebilir.
Performans ölçümü ve İzleme
tembel yüklemeyi dağıtmadan önce, temel ölçümler kullanılarak araçları kullanarak temel ölçümler:0)React Yerli Performansı[Dönetici: 1)[FONT menüsü ile kullanılabilir), DÜŞÜN:2).Flipper) veya [[Dönderlik|[Döneticileri)
- İlk olarak zaman (TTIR)
- Etkileşimli (TTI) zamanı
- Daha önce ve sonra tembel yüklemeden önce bellek kullanımı
- chunk için grafik boyutu
Uygulamadan sonra, gelişmeleri ölçmek için yeniden uyarı. Birçok gerçek dünya Reasure Yerlisi Uygulamaları (örneğin, [[0)Shopify's app), tembel yükleme% 40'tan fazla bir başlangıç süresini azalttı.
Dış Kaynaklar ve Daha Fazla Okuma
- [0]Yerel Resmi Docs'u etkinleştirin - JavaScript Yükleniyor).
- [0]React Navigation – Ekran Lazy Yükleniyor).
- [FONT=0)Callstack Blog - Reakting in Reakting in Reakting in Reaction Native[Dön 1: 1)
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Lazy yüklemesi gümüş bir mermi değil, ancak doğru uygulandığında, bir Reaks Yerli geliştiricinin performans aracıkit'te en güçlü araçlardan biridir.In deferring the upload of non-esential components, görüntüler ve ekranlar, dramatik olarak ilk yük kez kesebilirsin, hafıza basıncı azaltın ve kullanıcılarına bir ipek-smooth deneyimi sunabilirsiniz. Uygulamanızda en ağır suçlularla başlayın - görünüşe göre yukarı doğru yükleme ekranları, karmaşık grafikler veya nadiren ziyaret edilen sekmeleri -ve yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş diğer parçalara kadar yükler.