Code Monkey home page Code Monkey logo

Comments (11)

yanzhenjie avatar yanzhenjie commented on July 22, 2024

已经确认,不存在cancle后这个请求没有从queue中移除的问题。
根据我的分析后的判断,应该是你的逻辑问题,demo中单个下载的按钮点击逻辑是暂停当前下载,再次点击继续这个下载。如果是多个下载,你需要注意:

  1. nohttp默认并发3个下载,如果要一个个在初始化队列时,传入参数修改队列并发值。
  2. 修改点击按钮的单个暂停和控制,根据你的业务逻辑修为可以控制多个请求的暂停和继续功能。

from nohttp.

huangjim avatar huangjim commented on July 22, 2024

其实我不是并发,是单个按顺序下载,所有创建实例是和demo一样的,点了暂停在点开始时有l一个log提示是....url....is canceled,后面都没反应了,重新进入再开始是可以继续下载的,Downloadquene里面的mUnFinishQueue是什么时候加入数据的

from nohttp.

yanzhenjie avatar yanzhenjie commented on July 22, 2024

我明白你不需要并发,不知道你的额一个个下载如果没有用队列是怎么做到的。
点击了暂停是调用request.cancel(),这个下载被取消了,你下载继续时应该重新new一个request出来加入队列,你可以在demo的单个文件下载中找到相关逻辑。

from nohttp.

huangjim avatar huangjim commented on July 22, 2024

非常感谢你的及时回复,我就是在单个文件的逻辑上修改的,而且同样的写法在1.0.0的demo里面是没问题的,我迁移到1.0.6才出现这样的问题,实在抱歉打扰了。

from nohttp.

yanzhenjie avatar yanzhenjie commented on July 22, 2024

那你下载1.0.6的demo看下,这个1.0.0和1.0.6的变化几乎可以忽略的,应该不会影响到,发布的时候我已经测试过了,1.0.5和1.0.6代码是没有变化的,就是整理了下,然后又发布了一个基于okhttp的版本:https://github.com/yanzhenjie/NoHttp4OkHttp

from nohttp.

huangjim avatar huangjim commented on July 22, 2024

我发现这个问题是出在,当我把根据url把DownloadRequest生成为全局变量,就是提前创建好的时候,在恢复下载的时候调用 CallServer.getDownloadInstance().add(0, mDownloadRequest, downloadListener);就无法恢复了,而mDownloadRequest重新根据同样的参数创建就可以重新下载,这是为什么呢

from nohttp.

huangjim avatar huangjim commented on July 22, 2024

就在最新的demo里面的单个文件下载就可以试试

from nohttp.

yanzhenjie avatar yanzhenjie commented on July 22, 2024

上面已经回复过这个问题了。
需要重新new

from nohttp.

huangjim avatar huangjim commented on July 22, 2024

这个问题在1.0.0的不用重新创建的

from nohttp.

yanzhenjie avatar yanzhenjie commented on July 22, 2024

嗯1.0.0当时重新添加时动态修改了取消状态的,但是这么做对于框架是不合理的,所以就取消了。
如果你用了之后的版本的话需要重新创建,建议使用新版,1.0.0这个版本后期升级修改了api的。

from nohttp.

huangjim avatar huangjim commented on July 22, 2024

好的,谢谢。

from nohttp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.