2022年,可以想象什么场景
LiveData
比其他可观察库如StateFlow
、SharedFlow
、协程Channel
等更好
基于菲利普·拉克纳:
如果需要存储可以随时间变化的值(状态),请使用状态流或实时数据,否则使用共享流或通道
如果您喜欢协程使用状态流,实时数据使用主线程。实时数据具有生命周期感知能力,而状态流默认情况下不具备生命周期感知能力,但可以使用生命周期作用域+repeatOnLifeCycle()。它们都在 ViewModel 中用于存储 UI 状态。
如果您有多个观察者,请使用共享流而不是通道。它们都用于发送一次性事件(例如用户成功连接时)。共享流程使用协程。