如果我可以将 Flow 和 StateFlow 与 lifecycleScope 一起使用,那么在 ViewModel 中使用 LiveData 有什么意义呢? viewLifecycleOwner.lifecycleScope
What's the point of using LiveData in ViewModel if I can use Flow and StateFlow with lifecycleScope \ viewLifecycleOwner.lifecycleScope
Flow
有很多运算符,LiveData
只有 3 个(转换)。是否有任何理由继续使用 LiveData 除了 StateFlow 仍处于实验阶段?
更新。 StateFlow、SharedFlow 和相应的运算符在 kotlinx.coroutines 1.4.0
中提升为稳定 API
现在没有太多理由使用 LiveData。 (State)Flow/Coroutines 还通过 lifecycleScope 带来了新的可能性。launchWhenCreated/Started/Resumed,很难用 LiveData 做到。
但是当需要 LiveData 时有一个原因 - DataBinding。目前不支持观察Flow
编辑:Android Studio 4.3 中的 DataBinding 将支持 StateFlow:https://twitter.com/manuelvicnt/status/1314621067831521282
Flow
有很多运算符,LiveData
只有 3 个(转换)。是否有任何理由继续使用 LiveData 除了 StateFlow 仍处于实验阶段?
更新。 StateFlow、SharedFlow 和相应的运算符在 kotlinx.coroutines 1.4.0
中提升为稳定 API现在没有太多理由使用 LiveData。 (State)Flow/Coroutines 还通过 lifecycleScope 带来了新的可能性。launchWhenCreated/Started/Resumed,很难用 LiveData 做到。
但是当需要 LiveData 时有一个原因 - DataBinding。目前不支持观察Flow
编辑:Android Studio 4.3 中的 DataBinding 将支持 StateFlow:https://twitter.com/manuelvicnt/status/1314621067831521282