• 自己写个多任务多线程断点下载框架


    What: 什么是多任务下载框架?

    多任务下载框架,是一个封装了下载功能的工具,它支持下载队列,下载进度更新,暂停||恢复||取消下载等功能。该框架适用于一切需要多任务下载的地方。例如app市场的app下载,视频app的视频下载,网易云阅读的离线下载等等。

    Why:为什么要写多任务下载框架?它解决了什么场景下的问题?

    刚才提到了很多不同下载的场景,除了下载的数据不同,其他功能都是一样的。所以我们需要抽出来做为一个单独的工具,以后我们只需要调用这个工具就可以了。不需要在烦恼了哦。还有就是,高内聚,所有下载相关的功能都封装到一起,可读性高,便于以后维护和扩展。

    为什么我讲了HTTP框架还要来讲多任务下载框架?

    这里使用的场景是不同的,千万不要企图把框架变得万能,框架只是针对某一特定场景而封装出来解决这类问题的工具,HTTP框架着重于常规API请求,并针对返回数据去做相应的处理。而多任务下载框架仅针对多任务下载做的一系列封装,目的就是为了下载。这两个框架没有太多的交集。所以拆开来比较好。而且不是所有app都需要多任务下载框架。

    How:怎么写多任务下载框架?有什么需要注意的?

    怎么写就看视频把,这里先预热下写之前需要知道的知识点:

    1。观察者模式(下载进度需要实时更新,暂停||恢复||取消下载状态的通知等,而且不仅仅是更新当前Activity,所以这里要用到观察者模式)

    2。多线程断点下载(要想下载的快,并且可以恢复暂停的下载当然要支持断点了)

    3。线程池队列(一般在设置里都有”同时下载最大任务数”,所以是个任务队列,并且多任务并存,这里线程池是必备的)

    4。数据库(既然支持断点下载,那么就需要记录当前下载的点以备恢复下载时使用)

    上述提到了一些知识点,虽然在课程里我也会讲,但是大家还是得对这些东西有个概念,我不会讲得太细。

    该系列是针对中级Android开发者量身定做课程,作为升职加薪的必备工具,不同于市面上那些只是教你调用API的初级视频。这套课程,有深度有广度,为确保大家能学以至用,大家可以加本人QQ:104816053。也可以访问我的网站www.stay4it.com获取更多技术分享。更多心得请关注微信公众平台:stay4it

    课程地址:http://www.stay4it.com/course/6

  • 相关阅读:
    Redis键是如何过期删除的
    使用EventBus + Redis发布订阅模式提升业务执行性能(下)
    使用EventBus + Redis发布订阅模式提升业务执行性能
    使用C#的计时器加观察者模式完成报警推送需求
    Go 语言入门教程:变量
    Go 语言入门教程:安装
    Docker 入门:Dockerfile
    Docker 入门:容器
    Docker 入门:什么是 Docker ?
    Windows 系统如何安装 Docker
  • 原文地址:https://www.cnblogs.com/stay/p/3707543.html
Copyright © 2020-2023  润新知