您的位置:首页 > 其它

NSFileHandle随笔

2015-11-04 22:50 267 查看
NSURLConnectionDataDelegate

可以实现文件下载/自己可以拼接出一个完整的文件!

进度条也可以实现,需要自己实现业务逻辑!

在下载文件的时候解决内存暴涨的问题有说明方法呢?

方法1:边下载,边存储(往沙盒中存)!

方法2: 利用 NSFileHandle
实现上述功能,可以解决内存暴涨问题!


在解决了内存暴涨又出现新问题:
有可能下载下来的文件变大!(一直增加)


自己写业务逻辑!

下载之前,首先检查本地是否存在文件!

1.
如果本地已经存在这个文件,文件大小跟服务器文件大小一致!告诉用户,文件已经存在!


2.
如果本地保存的文件>服务器上的文件,删除之后,重新下载!


3.
如果本地保存的文件<服务器上的文件,获取本地文件的大小,设置 Range ,继续下载!


NSOutputStream
数据流!
实现的功能和 NSFileHandle 是一样的!


理解:
数据流的概念:数据是通过数据包一点一点传输过来的!


流媒体(视频播放)开发使用的数据流比较多!

利用数据流来实现数据拼接,也会造成下载的数据变大!

新问题: Block
回调默认是在主线程执行的!当有 UI
操作的时候,下载会暂停!

即使将代理的回调队列设为
非主队列,上述问题依然存在!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: