Pag - unawa sa Mabigat na Pasan ng mga Gawang - Bata

Ang reaksyong Katutubo ay naging isang balangkas na go-to para sa cross-platform mobile development, na nagpapahintulot sa mga developer na gumawa ng mga katutubong-level apps na may JavaScript at react. Bilang application scale, ang performing bottlenecks ay kadalasang lumalabas na admitsoi lalo na sa panahon ng simulang karga. Ang isa sa pinakamabisang mga estratehiya upang ma-in ang mga isyung ito ay Ang pag-play ng mga stack ay kadalasang nagresultang na nagresultang sa mga surge ng mga surpor na surplikado at pag-edge na undercainture na undercastrydrections, ang mga undercapements para sa mga undercarection na ito ay nag-scting sa mga under na undercarewning under na under na may under na under na under na under, at pag-up, ang mga under na under na underged na nag-up sa mga under

Ano ba ang Mabigat na Pasan?

Ang pagkarga ng mga bagay ay isang disenyong pang-edukasyon na nagpapaliban sa pag-iisyu ng isang bagay, sangkap, o yaman hanggang sa punto na kinakailangan dito. Sa konteksto ng receptive Native, ito ay nangangahulugan na ang isang screen o sangkap ay hindi ibinikarga at isinalin hanggang sa ang gumagamit ay makapunta dito o ang imahe nito ay nagiging nalalapit na.Ang mga pangunahing tunguhin nito ay:

  • [unang salin – Ang app ay naglulunsad lamang ng mahahalagang sangkap, kaya mas madaling makita ng gumagamit ang nilalaman.
  • Ang paggamit ng memoryang Llower – Ang mga bahaging hindi ginagamit ay hindi iniingatan sa memorya.
  • [Napatunayang tugon[ – Ang pangunahing sinulid ay hindi nabarahan ng mga mabibigat na pag-angkat sa panahon ng simula-up.

Sa reaksyong Katutubo, ang tamad na pagkarga ay karaniwang isinasagawa sa pamamagitan ng mga dinamikong pag-angkat gamit ang at , o sa pamamagitan ng mga solusyong library-specific tulad ng React Navigation para sa screen-level na tamad na pagkarga.

Mga Pakinabang ng Pabigat na Pasan ng mga Katutubo

Ang pagsunod sa tamad na pagbuhat ay nagbubunga ng maraming pagsulong sa paggawa:

  1. [[Papasa-unang bundle] – Ang Paghahati ng Kodigo ay nagpapahintulot sa JavaScript bono na mahati sa mas maliliit na tipak na nakakarga sa pangangailangan. Ito ay kritikal dahil ang refermented Native apps ship a solo JavaScript browl na dapat i-repsed at patayin sa paglunsad.
  2. Faster time to interactive (TTI) – Ang app ay nagiging madaling gamitin nang mas maaga dahil ang mga mabigat na kalkulasyon at malalaking pag-aangkat ng aklatan ay iniaantala.
  3. Mas mabuting buhay sa batirya – Ang mga pinagkukunan ng idle ay hindi naikarga, binabawasan ang paggamit at pag-iingat ng batirya ng CPU.
  4. [[Easier maintenance – Ang pagkarga ng Lazy ay nanghihikayat sa kodigong modular, na ginagawang mas madaling ugitan at subukin ang codebase.

Bagaman ang mga benepisyong ito ay unibersal, ang tamad na pagkarga ay lalo nang mahalaga para sa mga app na may maraming screen, komplikadong tsart, mayamang media, o ikatlong-partikulong SDK.

Pag - iisip na May Kasamang Pag - asa.

Ang pagtugon ng mga Katutubo ay sumusuporta at mula noong bersyon 0.62.[kailangan ng sanggunian] kumpara sa habi.Palakad ang mga taga-Europa sa isang kongkretong pagpapatupad.

Pangunahing Seykap

Una, tiyakin mo na gumagamit ka ng isang katugmang reaksyon Native version (>=0.62) at na ang iyong bunker (Metro) ay nakaayos upang suportahan ang mga dynamic na pag-angkat. Ang Metro ay sumusuporta sa mga dynamic na pag-angkat out-of-the-box mula sa bersyon 0.59.

Hakbang 1 – Mabigat na Pasan Isang Komponente

Halimbawa, gumawa ng isang mabigat na bahagi ng isang masalimuot na tsart o isang malaking listahan, at mag - angkat nito na ginagamit ang :

Hakbang 2 – Wrap na may Suspensiya

Magbigay ng isang fallback UI habang ang bahagi ay ibinikarga:

Mahalagang Yungib na Para sa mga Katutubo

Sa web, ay walang-kaiba ang mga gawa sa pamamagitan ng reaktibidad.] ay makukuha ngunit hindi lahat ng mga sangkap ay ganap na gumagana sa loob nito ⁇ lalo na ang mga bahagi ng klase na may pamana o mga sangkap na umaasa sa para sa mga side effects. Laging sinusubok ang inyong tamad-based na mga bahagi sa tunay na mga aparato. Para sa karamihan ng mga bahaging may silbi gamit ang mga kawit, ito ay gumagana ng mahusay.

Pinasulong na mga Pamamaraan ng Pagbuhat ng Pasan

Screen-Level Lazy Pasan ng Automiks Navigation

Ang pinakakaraniwang gamit ng tamad na pagkarga ng mga app ay ang pag-iinantala ng screen loading. revision advivision, ang de facto na aklatan ng nabigasyon, ay sumusuporta sa disenyong ito palabas ng kahon sa pamamagitan ng prop at dynamic nito.

Halimbawa na May Epekto sa Nabigasyon 6:

Maaari mo pang higit na gawin ang paggamit : kapag ang gumagamit ay umaalimpuyo sa isang tab o sa isang iskrin, maaari mong simulan ang pagkarga sa susunod na iskrin sa patiunang paggamit o manwal .

Maningning na mga Larawang Nagdadala ng mga Larawan

Ang mga imahe ay kadalasang ang pinakamatataas na mga asset sa isang mobile app. Ang Lazy loading imahe ay nangangahulugan ng pag-i-publish ng kanilang download hanggang sa malapit sa viewport. magagawa mo ito gamit ang mga aklatan tulad ng [react-native-fast-image o [[FLLT:2]expo-image[[FL][3], na parehong sumusuporta sa tamad na pagkarga at pag-eeebolb out ng kahon. Para sa isang solusyon, gamitin ang[T][T][T][T][T][T:[TC.[T] [[T][T][T][T][T][T][TC.[TC.[TC.[T][TC.[TC.[TC.[T]

Halimbawa na may FlatList hanggang sa tamad na karga ang nakikitang hanay lamang:

Tinitiyak ng pamamaraang ito na ang mga bagay lamang sa loob ng nakikitang bintana ang ginagawa, samantalang ang iba pang bagay ay talagang ginagawa.

Kodigong Nahahati sa mga Aksiyon.

Para sa malalaking apps, maaari mo ring hatiin ang JavaScript browse sa bawat screen gamit ang reaksyon.lazy kasama ang recesitive Navigation adventure election function mula sa receiving Navigation v5. Gayunpaman, pansinin na ang revigation v6 ay direktang gumagamit ng sangkap, kaya maaari mo itong balutin ng tamad gaya ng ipinakikita sa itaas.

Pinakamabuting Gawain Para sa Mabigat na Pasan sa Pagtugon ng Katutubo

  • IPAPAPAS kung ano ang ihinahawi sa tamad na karga[ – Ilabas ang iyong app upang mahanap ang pinakamatataas na mga bahagi. Karaniwan nang ito ay mga tsart, mapa, video player, komplikadong porma, at screens ang gumagamit ay bihirang dumalaw.
  • [kailangan ng makabuluhang fallbacks – Gumamit ng mga iskrin ng kalansay, stmmer effect, o mga indicator ng aktibidad kaya alam ng gumagamit na may nangyayari.
  • Combin na may caching – Minsang maikarga ang isang sangkap, isaalang-alang ang pagpapanatili nito sa memorya gamit ang pamamahala ng estado (e.g., Redux, Recoil) o upang maiwasan ang muling-pagdami.
  • Iwasan ang tamad na pagkarga ng mga maliliit na sangkap – Ang ibabaw ng dinamikong pag-angkat at Suspensiya ay maaaring mas marami ang benepisyo para sa napakaliit na mga bahagi (e.g., isang nag-iisang ).
  • Pinaka-"Test sa mga low-end devices – Ang mga performance goods ay pinaka-kapansin-pansin sa mga aparatong may limitadong RAM at mas mabagal na CPUs. Emulate ang mga kondisyong iyon.
  • [[kailangan ng – Para sa mga mas lumang proyekto na hindi maaaring gumamit ng mga dinamikong pag-angkat, sinusuportahan ng Metro ang sa Metro Equiquenment upang ipagpaliban ang pagkarga ng module.Ito ay isang mas mababang-level na paraan ngunit epektibo.

Karaniwang mga Patibong at Kung Paano Maiiwasan ang mga Ito

1. Over-Lazy Pasan

Ang pagkarga ng bawat isang sangkap ay maaaring humantong sa isang mabilis na gumagamit na may napakaraming naglululan na mga spinaner.

2. Pagkabilanggo sa Panahon ng Paglipat

Kung tamad ka at may screen na nilalagyan ng computer para sa isang salansan o transition ng tab, ang loading state ay puwedeng maantala.

3. Hindi Pagharap sa mga Pagkakamali

Ang mga pag-angkat na Dynamic ay maaaring mabigo dahil sa mga isyung network o brode corruption. Gamitin upang makahabol ng mga pagkakamali sa Suspense fallback:

4. Di - nagbabagong Paggawi sa Iba't Ibang Platform

Maaaring mag-iba ang iOS at Android . laging subukin sa dalawang plataporma.

Pagsukat at Pagdi - Motor

Bago gamitin ang tamad na pagkarga, magtatag ng mga plaster na metriko na gumagamit ng mga kasangkapang katulad ng Ract Native Performance Monitor (magagamit sa pamamagitan ng menung pang-edukasyon), Flipper, o React DevTolls [[[T] [[T] [[T] [[T] [[T] [[T] [[T] [[kailangan ng sanggunian]:5]]].

  • Oras ng panimulang pagsalin (TIR)
  • Panahon Upang Makialam (TTI)
  • Ginagamit ang memorya bago at pagkatapos ng tamad na pagkarga
  • Maliit na sukat sa bawat tipak

Pagkatapos ipatupad, re-impormasyon upang quancipality ang mga pagpapabuti. Sa maraming real-world reaction Native apps (e.g., Shopfifyificians app), tamad pagkarga ng nabawasang simula-up time ng mahigit 40%.

Ang Likas na Yaman at Higit Pang Pagbabasa

Pagsasaayos

Ang Lazy loading ay hindi isang silver bullet, ngunit kapag tama ang pagkakapahid, ito ay isa sa pinakamakapangyarihang mga kasangkapan sa isang refluction Native developeris performance toolkit. Sa pamamagitan ng pag-iistilo ng karga ng mga hindi-essential na bahagi, imahe, at screen, maaari mong lubhang putulin ang mga unang oras ng pag-iisyu ng karga, bawasan ang presyon ng memorya, at magbigay ng isang suty-smooth na karanasan sa inyong mga gumagamit.Simula sa mga superhighitying sa inyong mga aporlylylylyly clamplaimps, mga screen, mga unders na leaps at liflusion na may mas mabilis na pag-up.