SharedFlow

  • 不会把默认的数据推送给监听方
  • 多次发射可以回调给监听方多次(不管是不是同一个对象)
  • 可以设置缓存和背压去改变接受订阅回调行为
  • 再次设置监听, 会根据缓存、 背压等设置把数据推过来

StateFlow

  • 会把默认的数据先推给监听方(即没有发射也会)
  • 同一个对象只会发射一次(对象地址)
  • 再次设置监听, 会把最后一个数据推过来