Middle+
SharedFlow nedir ve StateFlow'dan nasıl ayrılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
SharedFlow, coroutinlerden gelen ve birden fazla aboneye değer gönderen bir veri akışıdır ("sıcak" akış).
StateFlow, SharedFlow'un bir varyasyonudur ve durum akışını temsil eder. Her zaman başlangıç değeri vardır ve en son bilinen değeri yeni abonelere iletir.
Ana farklar:
| Özellik | SharedFlow | StateFlow |
|---|---|---|
| Başlangıç değeri | Varsayılan olarak yoktur, replay ayarlanabilir |
Her zaman zorunlu bir başlangıç değeri vardır |
| Yeni aboneler için değerlerin tekrarı | replay parametresi ile yönetilir |
Her zaman son değeri tekrar eder |
| Değer tamponu | Tampon boyutu extraBufferCapacity ile belirlenir |
Tampon boyutu 0'dır (son değer hariç) |
| Aynı değerlerin yayını | Tüm değerleri yayar, hatta aynı olsalar bile | Aynı ardışık değerleri yaymaz (.equals() ile eşit ise) |
| Kullanım durumu | Olaylar, veri akışları | UI durumları veya diğer mevcut durumlar |