首页 > 解决方案 > 发送新请求android改造后如何停止从json获取数据?

问题描述

在我使用的应用程序Retrofit中,我遇到了这样的情况:我的应用程序包含带有 5 个项目的 bottomNavigationView,这些项目分配给某个片段,方法中的每个片段onCreateView()都有方法调用,我们在该方法调用处向 API 发送请求。当我点击不同的项目来替换当前片段时,我可以创建一个可以发送多个请求的情况。如果可能的话,我想阻止发送多个请求。我对此有一些想法:

  1. 在具有最大请求的改造客户端上使用调度程序 -setMaxRequests(1)
  2. 让改造客户清除所有请求 -client.dispatcher().cancelAll()
  3. 检查当前片段何时对用户可见并发出请求 -userVisibleHint

或者有人有类似的问题并且知道如何解决它。例如在bottomNavigationView的一项上点击几次后我在日志中看到的内容 - 几个请求和几个响应。希望你能帮助我:)

标签: androidretrofit2

解决方案


每次替换片段时都可以重新创建片段。这意味着您每次更换都发送请求。您可以应用此解决方案来防止这种情况


推荐阅读