Sobes.tech
Junior — Middle

Felsorolnád a Jetpack Compose-ban létező állapot típusokat és elmagyaráznád a különbségeiket?

sobes.tech MI

Válasz az MI-től

A Jetpack Compose-ban különböző állapot típusok léteznek, amelyek segítenek a felhasználói felület változásainak kezelésében:

  • MutableState<T> — alapvető állapot típus, amely értéket tárol és értesíti a Compose-t a változásokról, hogy újrarajzolja a UI-t.

  • remember — olyan függvény, amely megőrzi az állapotot egy függvényhívás során a rekonstrukciók között.

  • rememberSaveable — a remember kiterjesztése, amely nemcsak a rekonstrukciók között, hanem konfigurációs változások (pl. képernyőforgatás) esetén is megőrzi az állapotot, a státuszkód mechanizmusát használva.

  • StateFlow / LiveData — reaktív adatfolyamok, amelyeket adaptereken keresztül lehet állapotforrásként használni a Compose-ban.

Különbségek:

  • remember csak a komponálás életciklusa alatt tárolja az állapotot.
  • rememberSaveable az aktivitás újraalkotásakor is megőrzi az állapotot.
  • MutableState egy érték tároló, amit a Compose figyel.

Példa:

var count by rememberSaveable { mutableStateOf(0) }
Button(onClick = { count++ }) {
    Text("$count alkalommal nyomva")
}