ensures it only updates app component observers that are in an active lifecycle state. “LiveData was never an RX replacement, we've been very clear about this from day 1” - Yigit Boyar
can be asynchronously processed, similar to RxJava's Observable. It is a part of the Kotlin coroutines library and can be used to handle asynchronous operations in an easy and efficient way.
collectors in a broadcast fashion, so that all collectors get all emitted values. A shared flow is called hot because its active instance exists independently of the presence of collectors. This is opposed to a regular Flow, such as defined by the flow { ... } function, which is cold and is started separately for each collector. StateFlow A SharedFlow that represents a read-only state with a single updatable data value that emits updates to the value to its collectors. A state flow is a hot flow because its active instance exists independently of the presence of collectors. Its current value can be retrieved via the value property.