Jetpack Compose Academy · Oppitunti

Vakaat ja epävakaat parametrit

Ymmärtäkää, mikä pitää Composable-funktiot ohitettavina.

Oppitunti 1/413 vaihetta

Vakaat ja epävakaat parametrit 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.

Mitä ohittaminen tarkoittaa

Kun Composable suoritetaan uudelleen mutta sen syötteet eivät ole muuttuneet, Compose voi ohittaa sen kokonaan. Ohittaminen pitää Compose-sovellukset nopeina. 🚀

Vakaus ratkaisee ohittamisen

Compose ohittaa Composablen vain, kun jokainen parametri on vakaa. Yksikin epävakaa syöte suorittaa koko funktion uudelleen jokaisen uudelleenk koostamisen yhteydessä.

Mitä "vakaa" lupaa

Tyyppi on vakaa, kun Compose voi luottaa siihen, että equals() toimii luotettavasti ja että julkiset ominaisuudet eivät muutu ilmoittamatta siitä Composelle.

Luonnostaan vakaat tyypit

Perustyypit, String ja funktiotyypit ovat oletusarvoisesti vakaita, joten Int-arvon tai lambdan välittäminen ei koskaan estä ohittamista.

fun Greeting(name: String, count: Int) {
  Text("Hello $name x$count")
}

val-ominaisuudet ovat vakaita

Luokka, jolla on vain vakaiden tyyppien val-ominaisuuksia, on itsekin vakaa. Muuttumaton data on Composeen välitettävästä syötteestä helpoin.

data class User(val id: Int, val name: String)

var tekee tyypistä epävakaan

Muuttuva var-ominaisuus voi muuttua Composen huomaamatta, joten luokasta tulee epävakaa eikä sen Composablea voi enää ohittaa.

data class Counter(var value: Int)

Kokoelmat näyttävät epävakailta

Tavallisia tyyppejä List, Map ja Set käsitellään epävakaina, koska rajapinnan taustalla voi olla muuttuva ArrayList.

fun ItemRow(items: List<String>) { }

Miksi rajapinnat huolestuttavat Composea

Rajapintaparametri on epävakaa: konkreettinen toteutus ei ole tiedossa käännösaikana, joten Compose ei voi taata, että sen equals() toimii oikein.

Vahvan ohittamisen tila

Uudempi Compose sisältää vahvan ohittamisen, jossa epävakaita parametreja voidaan verrata viitteen perusteella. Siksi monet tapaukset voidaan ohittaa ilman ylimääräisiä annotaatioita.

Epävakaiden syötteiden tunnistaminen

Jos Composable piirretään uudelleen jokaisella ruudulla ilman näkyvää syytä, epäile epävakaata parametria, joka pakottaa koko suorituksen uudelleen joka kerta.

Vakaus perustuu luottamukseen

Vakaus on Composelle annettava lupaus, ei taikatemppu. Mitä muuttumattomampia syötteesi ovat, sitä enemmän työtä Compose voi vapaasti ohittaa.

Pikakoe

Testaa, kuinka hyvin ymmärrät vakauden.

Kertaus: vakaa voittaa

Compose ohittaa Composablen vain, kun jokainen syöte on vakaa. Suosi perustyyppejä, String-arvoja ja pelkkiä val-ominaisuuksia sisältäviä luokkia, jotta uudelleenpiirtäminen pysyy kevyenä. ✅

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 ”Vakaat ja epävakaat parametrit” ilmainen?

Kyllä – oppitunnin ”Vakaat ja epävakaat parametrit” 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 ”Vakaat ja epävakaat parametrit”?

Ymmärtäkää, mikä pitää Composable-funktiot ohitettavina. 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 ”Vakaat ja epävakaat parametrit”-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. Vakaat ja epävakaat parametrit
  2. Ohittaminen, @Stable ja @Immutable
  3. Tilan lukemisen siirtäminen myöhemmäksi
  4. Layout Inspector ja uudelleenkoostamismäärät
← Takaisin: Jetpack Compose Academy