Jetpack Compose Academy · Oppitunti

LazyColumn vai vieritettävä Column

Ymmärtäkää, miksi lazy-listat skaalautuvat.

Oppitunti 1/413 vaihetta

LazyColumn vai vieritettävä Column on ilmainen Jetpack Compose Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Jetpack Compose Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Jetpack Compose Academy-kurssilla on yhteensä 4 oppituntia.

Pitkien listojen ongelma

Kun listalla on satoja rivejä, niitä kaikkia ei voi piirtää kerralla. Tarvitsette listan, joka luo vain sen, mikä on näytöllä oikeasti näkyvissä.

Tavallinen Column luo kaiken

Tavallinen Column koostaa jokaisen lapsen heti, myös näytön alapuolella olevat rivit. Suuren tietomäärän kanssa tämä tuhlaa muistia ja aikaa.

Column {
    items.forEach { Text(it) }
}

Column tarvitsee verticalScrollin

Tavallinen Column ei edes vieritä itsestään. Teidän on lisättävä verticalScroll-modifioija, jotta voitte siirtyä näytön reunan ohi.

Column(Modifier.verticalScroll(rememberScrollState())) {
    items.forEach { Text(it) }
}

Tutustutaan LazyColumniin

LazyColumn on suurille tietomäärille tarkoitettu vieritettävä lista. Se koostaa rivejä tarpeen mukaan vierityksen aikana, joten kustannus pysyy pienenä. 🚀

LazyColumn {
    // items go here
}

Lazy tarkoittaa tarpeen mukaan

”Lazy” tarkoittaa, että rivi luodaan vasta, kun se vierittyy näkyviin. Näytön ulkopuolisia kohteita ei ole vielä olemassa, joten kaikki pysyy nopeana ja kevyenä.

Uudelleenkäyttöä, ei uudelleenrakentamista

Kun rivit poistuvat yläreunasta, LazyColumn kierrättää ne alareunasta tuleville uusille riveille. Muutama kymmenen riviä voi palvella tuhansia kohteita.

items-lohko

LazyColumnin sisällä kuvaatte sisällön tavallisen silmukan sijaan items-lohkolla. Compose päättää, mitkä kohteet luodaan oikeasti.

LazyColumn {
    items(names) { name ->
        Text(name)
    }
}

Vieritys on sisäänrakennettu

LazyColumn vierittyy oletusarvoisesti, joten sitä ei koskaan kääritä verticalScroll-modifioijaan. Sen lisääminen aiheuttaisi itse asiassa kaatumisen.

Milloin Column riittää

Kun kyseessä on muutama kiinteä rivi, jotka mahtuvat kaikki näytölle, tavallinen Column on yksinkertaisempi ja täydellinen ratkaisu. Valitkaa LazyColumn vasta, kun lista voi kasvaa.

Älkää sisäkkäistäkö samaa suuntaa

Välttäkää LazyColumnin sijoittamista pystysuunnassa vieritettävän Columnin sisään. Vierityssuunnat ovat ristiriidassa, eikä Compose pysty mittaamaan korkeutta.

Suorituskyky on hyöty

Suurin hyöty on suorituskyky: vieritys pysyy sujuvana ja muistin käyttö vakaana tietomäärän pituudesta riippumatta. Siksi lazy-listat skaalautuvat.

Pikakertaus

On aika testata, mikä lista kannattaa valita.

Kertaus: Lazy voittaa suurissa listoissa

Column rakentaa kaiken etukäteen ja tarvitsee verticalScroll-modifioijan. LazyColumn rakentaa rivit tarpeen mukaan, kierrättää niitä ja skaalautuu vaivattomasti. 🎉

Aloita maksutta

Opi Kotlin tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”LazyColumn vai vieritettävä Column” ilmainen?

Kyllä – oppitunnin ”LazyColumn vai vieritettävä Column” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Jetpack Compose Academy-kurssin, päivitä CoddyKit PROhon. Jetpack Compose Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”LazyColumn vai vieritettävä Column”?

Ymmärtäkää, miksi lazy-listat skaalautuvat. Harjoittelet Jetpack Compose Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Jetpack Compose Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Jetpack Compose Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”LazyColumn vai vieritettävä Column”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Jetpack Compose Academy-oppitunnilla?

Kyllä. Jokainen Jetpack Compose Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. LazyColumn vai vieritettävä Column
  2. items ja itemsIndexed
  3. Avaimet vakaille ja nopeille listoille
  4. Kiinnitetyt otsakkeet ja osioidut listat
← Takaisin: Jetpack Compose Academy