Sobes.tech
Middle+

Jak snížit počet rekompozic v aplikaci kromě použití vedlejších efektů?

sobes.tech AI

Odpověď od AI

Použijte remember.

Použijte stabilní datové typy (označené @Stable nebo @Immutable).

Delegujte výpočty:

// Vyhněte se výpočtům při každé rekonstrukci
val myExpensiveValue by remember {
    derivedStateOf {
        calculateExpensiveValue()
    }
}

Používejte lambdy, které zachycují minimum proměnných:

// Lambda bude znovu vytvořena pouze při změně count
Button(onClick = { onCountChanged(count + 1) }) {
    Text("Zvýšit")
}

Používejte Composable funkce s minimem parametrů.

Používejte @MovableContentOf s Composable, pokud chcete přesunout podstrom Compose bez jeho rekonstrukce.

Používejte složené klíče (key) pro seznamy, pokud je potřeba přesnější přiřazení prvků při změnách.

Vyhněte se volání nestabilních funkcí uvnitř Composable.