我在从 Web 下载相对较大的文件(例如 350MB 大小的视频)时遇到了 iOS 中的内存管理问题。 这里的目标是下载这些类型的文件并将其存储在 CoreData 的二进制数据字段中。
目前我正在使用 NSURLSession.dataTaskWithUrl
和 NSURLSession.dataTaskWithRequest
方法来检索这些文件,但看起来这些方法没有处理诸如此类的问题内存使用,他们只是继续填充内存直到达到最大使用量,当我达到 380MB 时给我留下内存警告~。
在不出现内存警告的情况下从 Web 执行这种大数据检索的最佳策略是什么? AlamoFire 和其他库是否可以处理这个问题?
最佳答案
最好使用下载任务。
并将视频作为文件保存到Document 或Library 目录。
然后将相对路径保存到CoreData
如果你使用下载任务
- 如果上次下载失败,您可以继续
- 需要更少的内存
关于iOS:从网络下载超大数据的策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34089651/