Vakaat ja epävakaat parametrit
Ymmärtäkää, mikä pitää Composable-funktiot ohitettavina.
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ä. ✅
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
- Vakaat ja epävakaat parametrit
- Ohittaminen, @Stable ja @Immutable
- Tilan lukemisen siirtäminen myöhemmäksi
- Layout Inspector ja uudelleenkoostamismäärät