儒雅荷花

文章
8
资源
0
加入时间
2年10月17天

Flow 转 LiveData 后数据丢了,肿么回事?

最近我在负责一段代码库,需要在使用Flow的 Data 层和仍然依赖LiveData暴露 State 数据的 UI 层之间实现桥接。好在框架已经提供了一个叫做的方法,可以让你毫不费力地将Flow转为LiveData。在拥有一个及以上活跃的观察者的条件下,它才会发射数据。假使上游的 flow 产生了更新,但对应的 LiveData 并非活跃的状态,那么它将无法获得最新的数值。让我通过如下的实例,向你展示我们可能会遇到的这种潜在问题。请时刻记住采用方法转换Flow得到的LiveData。