Middle+
Ako znížiť počet rekompozícií v aplikácii okrem používania vedľajších efektov?
sobes.tech AI
Odpoveď od AI
Použite remember.
Používajte stabilné typy údajov (označené @Stable alebo @Immutable).
Delegujte výpočty:
// Vyhnite sa výpočtom pri každej rekonstrukcii
val myExpensiveValue by remember {
derivedStateOf {
calculateExpensiveValue()
}
}
Používajte lambdy, ktoré zachytávajú minimum premenných:
// Lambda bude znovu vytvorená iba pri zmene count
Button(onClick = { onCountChanged(count + 1) }) {
Text("Zvýšiť")
}
Používajte Composable funkcie s minimom parametrov.
Používajte @MovableContentOf s Composable, ak chcete presunúť podstrom Compose bez jeho rekonštrukcie.
Používajte zložené kľúče (key) pre zoznamy, ak je potrebné presnejšie zladenie prvkov pri zmenách.
Vyhýbajte sa volaniu nestabilných funkcií v rámci Composable.