多线程断点下载流程图:
多线程断点续传下载原理介绍:
在下载的时候多个线程并发可以占用服务器端更多资源,从而加快下载速度
手机端下载数据时难免会出现无信号断线、电量不足等情况,所以需要断点续传功能
根据下载数据长度计算每个线程下载的数据位置,程序中开启多个线程并发下载
在请求头中设置Range字段就可以获取指定位置的数据,例如:Range:
在下载过程中记录每个线程已拷贝数据的数量,如果下载中断,下次启动时从记录位置继续下载
实例图:
1.1 默认为圆形进度条,水平进度条需要配置style属性,android:attr/progressBarStyleHorizont
1.2 当点击下载按钮时开启多线程下载,下载过程中修改进度条进度
二. 断点续传
3.3 主线程中创建Handler,重写handleMessage()方法
3.4 新线程中使用Handler发送消息,主线程即可收到消息,并且执行handleMessage()方法
本文来自新浪博客