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

标签 ios swift memory nsurlsession

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

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

Initial Memory Usage

Memory Warning

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

最佳答案

最好使用下载任务。

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

然后将相对路径保存到CoreData

如果你使用下载任务

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

关于iOS:从网络下载超大数据的策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34089651/

相关文章:

ios - 开始使用 UITableView?

swift - 即使打开恢复,SkSpritenode 正常纹理也不会恢复?

ios - 如何修复 NSInternalInconsistencyException?

c - Heapcrash - 通过增加指向堆的指针来段错误

android - 转储移动内存

objective-c - 触摸详细信息披露指示器时 Mapview 注释崩溃

iOS 通知 : How does WhatsApp receive notification and process even after force closing them?

ios - UITextView 没有响应

c - DispatchReadSource 事件处理程序未针对绑定(bind)套接字触发

PHP内存耗尽