NSFileHandle随笔

  NSURLConnectionDataDelegate

    

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

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


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

    

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

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

    

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

      自己写业务逻辑!

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

    

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

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

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

    

    

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

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

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


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

    

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

      即使将代理的回调队列设为 非主队列,上述问题依然存在!

 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值