【问题标题】:Fragment back navigation without fetching data again from network片段返回导航,无需再次从网络获取数据
【发布时间】:2021-07-16 04:30:32
【问题描述】:

我有一个片段 A,它从网络获取新数据并显示使用的列表。现在我切换到其他片段 B 并返回片段 A,它再次从网络获取数据。如何避免网络调用?我正在使用 viewmodel 和 livedata 来获取数据。

【问题讨论】:

  • 你在 onResume() 中调用过 API 吗?

标签: android navigation fragment android-livedata


【解决方案1】:
  1. 您可以使用改造并添加缓存机制。 Can Retrofit with OKHttp use cache data when offline

    https://bapspatil.medium.com/caching-with-retrofit-store-responses-offline-71439ed32fda

    这些会对你有所帮助。

  2. 使用共享的 ViewModel 和 Repository 模式,使用单个 livedata 对象,它存储最后一次点击响应...检查 liveData 是否有 API 响应,不要获取,否则获取新的响应。

我推荐第一个解决方案

【讨论】:

    猜你喜欢
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多