Sobes.tech
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.