自己写个多任务多线程断点下载框架_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > 自己写个多任务多线程断点下载框架

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

 2014/5/4 18:40:16  stay  博客园  我要评论(0)
  • 摘要:What:什么是多任务下载框架?多任务下载框架,是一个封装了下载功能的工具,它支持下载队列,下载进度更新,暂停||恢复||取消下载等功能。该框架适用于一切需要多任务下载的地方。例如app市场的app下载,视频app的视频下载,网易云阅读的离线下载等等。Why:为什么要写多任务下载框架?它解决了什么场景下的问题?刚才提到了很多不同下载的场景,除了下载的数据不同,其他功能都是一样的。所以我们需要抽出来做为一个单独的工具,以后我们只需要调用这个工具就可以了。不需要在烦恼了哦。还有就是,高内聚
  • 标签:多线程 下载 自己 多任务 线程

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

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

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

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

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

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

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

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

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

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

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

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

 

这套框架借鉴另外一位大神写出来的。Johnsun,呆过机锋和乐视,下载的框架都是他写的。之前我做了个游戏市场要用到下载框架,所以他就把自己封装的框架给我了。当初给我讲了两个小时我才明白。本来是要Johnsun来讲的。但是大神太忙 = = 我只好自己讲了。只要有思想,讲起来应该不算难。

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

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

课程地址:http://www.chuanke.com/1462121-100183.html

发表评论
用户名: 匿名