Sobes.tech
Middle+

Kuidas vähendada rakenduses rekombinatsioonide arvu, lisaks kõrvaltoimete kasutamisele?

sobes.tech AI

Vastus AI-lt

Kasuta remember.

Rakenda stabiilid andmetüübid (@Stable või @Immutable).

Delegatsiooni arvutused:

// Vältige arvutusi iga rekonstruktsiooni ajal
val myExpensiveValue by remember {
    derivedStateOf {
        calculateExpensiveValue()
    }
}

Kasuta lambdas, mis haaravad minimaalselt muutujaid:

// Lambda uuesti luuakse ainult siis, kui muutub count
Button(onClick = { onCountChanged(count + 1) }) {
    Text("Suurenda")
}

Rakenda Composable funktsioone minimaalsete parameetritega.

Kui soovid, et Compose puu liigub ilma selle rekonstrueerimiseta, kasuta @MovableContentOf.

Kasuta keerulisi võtmeid (key) loendite jaoks, kui on vaja täpsemat vastavust elementidele muutuste ajal.

Väldi mitte-stabiilsete funktsioonide kutsumist Composable sees.