iOS:从Web下载非常大的数据的策略

Dan*_*aio 2 memory ios nsurlsession swift

我在iOS的内存管理挣扎在下载从web相对较大的文件(如用350MB大小的视频).这里的目标是下载这些类型的文件并将其存储在二进制数据字段的CoreData上.

目前我正在使用NSURLSession.dataTaskWithUrlNSURLSession.dataTaskWithRequest检索这些文件的方法,但看起来这些方法不会处理内存使用等问题,只是在内存达到最大使用量时继续填充内存,当我达到380MB~时,会给我留下内存警告.

初始内存使用情况

记忆警告

在没有达到内存警告的情况下,从Web执行此类大型数据检索的最佳策略是什么?AlamoFire和其他库是否可以解决这个问题?

Leo*_*Leo 7

最好使用下载任务.

并将视频作为文件保存到DocumentLibrary目录.

然后保存CoreData的相对路径

如果您使用下载任务

  • 如果上次下载失败,您可以恢复
  • 需要更少的内存