Sobes.tech
Junior — Middle

Jetpack Compose'ta mevcut durum türlerini listeleyebilir misin ve aralarındaki farkları açıklayabilir misin?

sobes.tech yapay zeka

AI'dan gelen yanıt

Jetpack Compose'ta, kullanıcı arayüzü değişikliklerini yönetmeye yardımcı olan farklı durum türleri vardır:

  • MutableState<T> — değeri saklayan ve değişikliklerini Compose'a bildiren temel durum türüdür, böylece UI yeniden çizilir.

  • remember — bir fonksiyon çağrısı sırasında durumun korunmasını sağlayan, yeniden oluşturma sırasında durumu saklayan fonksiyon.

  • rememberSaveable — remember'ın genişlemesi olup, durumu yalnızca yeniden oluşturma sırasında değil, aynı zamanda yapılandırma değişiklikleri (örneğin, ekran döndürme) sırasında da saklar ve durum kaydetme mekanizması kullanır.

  • StateFlow / LiveData — reaktif veri akışlarıdır ve adaptörler aracılığıyla Compose'da durum kaynağı olarak kullanılabilir.

Farklar:

  • remember yalnızca bileşimin yaşam süresi boyunca durumu saklar.
  • rememberSaveable ayrıca aktivitenin yeniden oluşturulması sırasında durumu korur.
  • MutableState, Compose'un izlediği bir değer kapsayıcısıdır.

Örnek:

var count by rememberSaveable { mutableStateOf(0) }
Button(onClick = { count++ }) {
    Text("$count kez tıklandı")
}