Lazy-indlæsning af tungt indhold
Udskyd krævende arbejde, indtil det er synligt.
Lazy-indlæsning af tungt indhold er en gratis SwiftUI Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i SwiftUI Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. SwiftUI Academy-kurset indeholder 4 lektioner i alt.
Opbyg kun det, der er synligt
Det er spild af ressourcer at gengive tusind rækker uden for skærmen. Lazy-beholdere opbygger kun visninger, når de ruller ind i synsfeltet, og sparer dermed store mængder arbejde.
Ivrige og dovne stakke
En almindelig VStack opbygger alle underordnede visninger på forhånd. I en ScrollView med mange elementer kan den opstartsomkostning få skærmen til at fryse.
Brug LazyVStack
Skift til LazyVStack i en ScrollView. Den udskyder oprettelsen af hver række, indtil rækken er ved at blive vist på skærmen.
ScrollView {
LazyVStack {
ForEach(items) { RowView(item: $0) }
}
}List er også lazy
En List genbruger automatisk rækker, omtrent som en lazy-stak. Til lange, enkle feeds er den ofte det nemmeste hurtige valg.
Lazy-gitre til kort
Til gallerier kan du bruge LazyVGrid. Den placerer kort i kolonner og opbygger kun de celler, der aktuelt er i synsfeltet.
LazyVGrid(columns: cols) {
ForEach(photos) { Thumb(photo: $0) }
}Indlæs billeder asynkront
Tunge billeder bør ikke blokere hovedtråden. AsyncImage henter og afkoder uden for skærmen og viser en pladsholder, indtil billedet er klar.
AsyncImage(url: photo.url) { img in
img.resizable()
} placeholder: { ProgressView() }Nedskalér store billeder
Et foto i fuld opløsning i en lille celle spilder hukommelse. Downsample til den viste størrelse, så rulningen forbliver jævn.
Udskyd beregningstungt arbejde
Beregn tunge værdier, når en række vises første gang, ikke for alle rækker på én gang. Hændelsen onAppear lader dig starte arbejdet lige i tide.
RowView(item: item)
.onAppear { item.prefetch() }Sideinddel store datamængder
Indlæs ikke ti tusind poster på én gang. Brug sideinddeling: hent næste side, når brugeren nærmer sig bunden af listen.
Lazy har en bagside
Lazy-visninger glemmer indhold uden for skærmen, så det kræver arbejde at opbygge det igen, når man ruller tilbage. Hold hver celles body let, så visningen forbliver jævn.
Kombinér teknikkerne
I rigtige apps holder lazy-beholdere, asynkrone billeder og sideinddeling samlet hukommelsesforbruget lavt og billedhastigheden stabil.
Hurtigt tjek
Hvad er den største fordel ved LazyVStack frem for VStack ved lang rulning?
Opsamling: Lazy-indlæsning
Du har lært at udskyde arbejde med lazy-beholdere, indlæse billeder asynkront og sideinddele data, så tungt indhold kan rulle uden hakken. 🚀
Lær Swift med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “Lazy-indlæsning af tungt indhold” gratis?
Ja — hele teksten til “Lazy-indlæsning af tungt indhold” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af SwiftUI Academy-kurset, skal du opgradere til CoddyKit PRO. SwiftUI Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Lazy-indlæsning af tungt indhold”?
Udskyd krævende arbejde, indtil det er synligt. Du øver dig i SwiftUI Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på SwiftUI Academy?
Der kræves ingen tidligere erfaring. SwiftUI Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Lazy-indlæsning af tungt indhold”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne SwiftUI Academy-lektion?
Ja. Alle SwiftUI Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Sådan genberegner SwiftUI views
- Undgå unødvendige gentegninger
- Lazy-indlæsning af tungt indhold
- Profilering med Instruments