NSURLConnectionDataDelegate
可以实现文件下载/自己可以拼接出一个完整的文件!
进度条也可以实现,需要自己实现业务逻辑!
在下载文件的时候解决内存暴涨的问题有说明方法呢?
方法1:边下载,边存储(往沙盒中存)!
方法2: 利用 NSFileHandle 实现上述功能,可以解决内存暴涨问题!
在解决了内存暴涨又出现新问题:有可能下载下来的文件变大!(一直增加)
自己写业务逻辑!
下载之前,首先检查本地是否存在文件!
1.如果本地已经存在这个文件,文件大小跟服务器文件大小一致!告诉用户,文件已经存在!
2.如果本地保存的文件>服务器上的文件,删除之后,重新下载!
3.如果本地保存的文件<服务器上的文件,获取本地文件的大小,设置Range ,继续下载!
NSOutputStream 数据流! 实现的功能和 NSFileHandle 是一样的!
理解:数据流的概念:数据是通过数据包一点一点传输过来的!
流媒体(视频播放)开发使用的数据流比较多!
利用数据流来实现数据拼接,也会造成下载的数据变大!
新问题: Block回调默认是在主线程执行的!当有UI操作的时候,下载会暂停!
即使将代理的回调队列设为非主队列,上述问题依然存在!
版权声明:本文为qq_26992079原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。