博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自己写个多任务多线程断点下载框架
阅读量:6292 次
发布时间:2019-06-22

本文共 969 字,大约阅读时间需要 3 分钟。

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

课程地址:

转载于:https://www.cnblogs.com/stay/p/3707543.html

你可能感兴趣的文章
Python 元组
查看>>
hbase(ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet)
查看>>
[ZJOI2010]count 数字计数
查看>>
多校4 1001 Olympiad
查看>>
hdu1085 Holding Bin-Laden Captive!
查看>>
hdu4811 Ball
查看>>
Docker实践--搭建Yapi测试平台
查看>>
align-content 与 align-items 区别
查看>>
a链接中,name属性的应用
查看>>
Java精选笔记_多线程(创建、生命周期及状态转换、调度、同步、通信)
查看>>
java Session统计在线用户,并且显示在线用户
查看>>
spring boot集成jpa(mysql)
查看>>
js实现的玫瑰花
查看>>
大话设计模式之责任链模式
查看>>
记录libreoffice实现office转pdf(适用于windows、linux)
查看>>
Python爬虫入门这一篇就够了
查看>>
彻底卸载Cygwin
查看>>
【转】安卓开发一个月之心得(广告平台篇)
查看>>
salt 批量部署与配置
查看>>
python使用cx_oracle模块连接oracle数据库
查看>>