是否有任何理由将LiveData范围限定为片段的生命周期,而不是片段视图的生命周期?

时间:2018-11-02 21:44:55

标签: android android-fragments android-architecture-components android-livedata

如果通过将LiveData传递给fragment方法来将this的范围限定在observe的生命周期中,则fragment在以下情况下不会立即得到更新:它只会与活动分离,而不会删除,因为只有view实例本身而不是fragment实例被破坏。

相反,我们可以通过在LiveData中调用view并传递observe而不是{来将onActivityCreated的范围限制在片段的getViewLifecycleOwner()的生命周期中{1}}。

是否有任何理由不将this限制为LiveData的{​​{1}}?

1 个答案:

答案 0 :(得分:0)

如果片段没有UI,则需要根据片段的生命周期对其进行范围划分。 许多人/图书馆使用并且仍然使用无头(UI-Less)工作程序片段来了解生命周期,以安全地将异步检索到的数据(网络调用)传递给UI。 (类似于装载机的工作)