Sobes.tech
Junior — Middle

Оё шумо метавонед намудҳои мавҷудбудаи ҳолат дар Jetpack Compose-ро номбар кунед ва фарқиятҳои онҳоро шарҳ диҳед?

sobes.tech AI

Ҷавоб аз AI

Дар Jetpack Compose, мавҷуданд намудҳои гуногуни ҳолатҳо, ки кӯмак мекунанд дар идоракунии тағйиротҳои UI:

  • MutableState<T> — навъи асосии ҳолат, ки арзишро нигоҳ медорад ва ба Compose дар бораи тағйироташ хабар медиҳад, то UI-ро дубора расмӣ кунад.

  • remember — функсия, ки ҳолатро байни рекомпозиҳо дар дохили як даъвати функсия нигоҳ медорад.

  • rememberSaveable — васеъкунии remember, ки ҳолатро на танҳо дар вақти рекомпози, балки дар тағйиротҳои конфигуратсия (масалан, гардиши экран) нигоҳ медорад, бо истифода аз механизми нигоҳдории ҳолат.

  • StateFlow / LiveData — ҷараёнҳои реактивии додаҳо, ки метавонанд ҳамчун манбаи ҳолат дар Compose тавассути адаптерҳо истифода шаванд.

Фарқиятҳо:

  • remember ҳолатро танҳо дар давоми ҳаёти композиция нигоҳ медорад.
  • rememberSaveable инчунин ҳолатро дар вақти навсозии фаъолият нигоҳ медорад.
  • MutableState контейнер барои арзиш аст, ки Compose онро пайгирӣ мекунад.

Масалан:

var count by rememberSaveable { mutableStateOf(0) }
Button(onClick = { count++ }) {
    Text("$count бор пахш шуд")
}