Sobes.tech
Junior — Middle

Hogyan történik az objektumok állapotának megőrzésének kezelése a modern alkalmazásokban?

sobes.tech MI

Válasz az MI-től

A modern Android alkalmazásokban az objektumok állapotának kezelése több megközelítéssel történik:

  • ViewModel — tárolja a UI-hoz kapcsolódó adatokat, és túléli a konfigurációs változásokat (pl. képernyőforgatás), így nem veszítjük el az állapotot.
  • SavedStateHandle — lehetővé teszi az állapot mentését és visszaállítását, amikor a folyamat megszűnik.
  • onSaveInstanceState(Bundle) — az Activity/Fragment módszere kis adatok mentésére egy Bundle-ben, amit a rendszer használ az újraalkotás során.
  • Room vagy más adatbázisok — tartós tárolásra az állapotnak és adatoknak.

Az állapot megőrzésének példája ViewModel használatával:

class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
    var counter: Int
        get() = state.get("counter") ?: 0
        set(value) = state.set("counter", value)
}

Így az állapot automatikusan mentésre kerül és visszaállításra, amikor a UI-komponensek újra létrejönnek.