iOS: 从网络下载超大数据的策略

iOS: Strategies for downloading very large data from web

从网络下载相对较大的文件(例如 350MB 大小的视频)时,我在 iOS 中遇到内存管理问题。 这里的目标是下载这些类型的文件并将其存储在 CoreData 的二进制数据字段中。

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

Initial Memory Usage

Memory Warning

在不出现内存警告的情况下从 Web 执行这种大数据检索的最佳策略是什么? AlamoFire 和其他库可以解决这个问题吗?

您可以尝试AFNetworking下载大文件。

最好使用下载任务

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

然后保存相对路径到CoreData

如果您使用下载任务

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