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 ჯერ დაწკაპული")
}