Learning Android Development

Comparing Android LiveData and StateFlow

Can StateFlow replace LiveData entirely or vice versa?

Photo by JÉSHOOTS on Pexer.com

One of the hot topics on Android Development today is LiveData and StateFlow. Google developers seem to advocate moving away from LiveData into StateFlow.

Collecting flows using these APIs is a natural replacement for LiveData in Kotlin-only apps. If you use these APIs for flow collection, LiveData doesn’t offer any benefits over coroutines and flow. Even more, flows are more flexible since they can be collected from any Dispatcher and they can be powered with all its operators. As opposed to LiveData, which has limited operators available and whose values are always observed from the UI thread.Manuel Vivo

LiveData is still our solution for Java developers, beginners, and simple situations. For the rest, a good option is moving to Kotlin Flows. — Jose Alcérreca

Personally, i still just go with Flow in my personal apps.Yigit Boyar

Let’s start with the simpler argument…

Why LiveData can’t replace StateFlow

It is true Kotlin Coroutine Flow is more holistically implemented. Hence there's no way LiveData can totally replace Kotlin…

--

--