aleyn97 / MVVMLin

一个基于MVVM用Kotlin+Retrofit+协程+Databinding+LiveData来封装的快速开发框架

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fragment replace 后livedata重复接收数据问题

cjcj125125 opened this issue · comments

您好,很感谢你的库,让我学到了很多东西,但是再使用fragment时候发现replace (共享viewmodel)模式会导致观察者重复收到数据,请问下这个有解决方案吗?

commented

LiveData 是有粘性事件的,共享 ViewModel的时候 ViewModel 的生命周期是跟父级相同的,replace fragment 的时候 会触发 LiveData 粘性事件,可以用 MutableSharedFlow 来替代 LiveData , MutableSharedFlow 的replay 默认是 0 ,是没有粘性事件的