Jetpack Compose Academy · Lektion

Stabile kontra ustabile parametre

Forstå, hvad der gør Composables springbare.

Lektion 1 af 413 trin

Stabile kontra ustabile parametre er en gratis Jetpack Compose Academy-lektion på CoddyKit. Dette er lektion 1 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 Jetpack Compose Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Jetpack Compose Academy-kurset indeholder 4 lektioner i alt.

Hvad det betyder at springe over

Når en Composable kører igen, men dens input ikke er ændret, kan Compose springe den helt over. Det er sådan, hurtige Compose-apps bliver ved med at være hurtige. 🚀

Stabilitet afgør, om der springes over

Compose springer kun en Composable over, når alle parametre er stabile. Ét ustabilt input får hele funktionen til at køre igen ved hver rekombination.

Hvad "stabil" lover

En type er stabil, når Compose kan stole på, at equals() er pålidelig, og at offentlige egenskaber ikke ændres uden at give Compose besked.

Naturligt stabile typer

Primitive typer, String og funktionstyper er stabile fra start, så det forhindrer aldrig overspringning at sende en Int eller en lambda.

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

val-egenskaber er stabile

En klasse, der kun har val-egenskaber med stabile typer, er selv stabil. Uforanderlige data er det bedste input, du kan give Compose.

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

var gør en type ustabil

En ændringsbar var-egenskab kan ændre sig bag om ryggen på Compose, så klassen bliver ustabil, og dens Composable ikke længere kan springes over.

data class Counter(var value: Int)

Samlinger ser ustabile ud

Almindelig List, Map og Set behandles som ustabile, fordi interfacet kan skjule en ændringsbar ArrayList nedenunder.

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

Hvorfor interfaces bekymrer Compose

En interface-parameter er ustabil: Den konkrete implementering er ukendt ved kompilering, så Compose kan ikke garantere, at dens equals() opfører sig korrekt.

Tilstand med stærk overspringning

Nyere Compose leveres med stærk overspringning, som lader ustabile parametre sammenligne efter reference, så mange tilfælde kan springes over uden ekstra annotationer.

Find ustabile input

Hvis en Composable tegnes igen ved hver frame uden nogen synlig grund, bør du mistænke en ustabil parameter, der tvinger en fuld kørsel hver gang.

Stabilitet handler om tillid

Stabilitet er et løfte til Compose, ikke magi. Jo mere uforanderlige dine input er, desto mere arbejde kan Compose springe over.

Hurtigt tjek

Test, om du har forstået stabilitet.

Opsummering: Stabilitet vinder

Compose springer kun en Composable over, når alle input er stabile. Foretræk primitive typer, Strings og klasser, der kun bruger val, så gentegninger forbliver billige. ✅

Gratis at komme i gang

Lær Kotlin 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 “Stabile kontra ustabile parametre” gratis?

Ja — hele teksten til “Stabile kontra ustabile parametre” 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 Jetpack Compose Academy-kurset, skal du opgradere til CoddyKit PRO. Jetpack Compose Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Stabile kontra ustabile parametre”?

Forstå, hvad der gør Composables springbare. Du øver dig i Jetpack Compose 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å Jetpack Compose Academy?

Der kræves ingen tidligere erfaring. Jetpack Compose 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 1 af 4.

Hvor lang tid tager lektionen “Stabile kontra ustabile parametre”?

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 Jetpack Compose Academy-lektion?

Ja. Alle Jetpack Compose 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

  1. Stabile kontra ustabile parametre
  2. Spring over, @Stable og @Immutable
  3. Udskydning af state-læsninger
  4. Layout Inspector og antal recompositions
← Tilbage til Jetpack Compose Academy