'Android LiveData advantage than other observable libraries
In 2022, What scenario can imagine LiveData
is better than other observable libraries such as StateFlow
, SharedFlow
, Coroutine Channel
and etc.
Solution 1:[1]
Based on philip lackner :
If you need to store a value that can change over time(state), use state flow or live data , otherwise use shared flow or Channel
If you like Coroutines use State Flow, Live data use main thread. Live data is lifecycle-aware while state flow is not lifecycle-aware by default but can be using lifecycleScope + repeatOnLifeCycle(). Both of them use in ViewModel to store UI state.
If you have multiple observers, use shared flow instead of channel. Both of them use to send one time events(like when the user successfully connected). Shared flow use coroutines.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Javad Shirkhani |