NSURLSessionDataTask 内存警告应用程序崩溃

Posted

技术标签:

【中文标题】NSURLSessionDataTask 内存警告应用程序崩溃【英文标题】:NSURLSessionDataTask memory warning app crash 【发布时间】:2016-11-02 09:28:47 【问题描述】:

我正在使用 NSURLSessionDataTask 下载大小 > 1 GB 的文件。但是我在下载过程中总是收到内存警告,最终我的应用程序崩溃了。我确实查看了 NSURLSessionDataTask 的 Apple 文档,它确实说数据已加载到内存中。

我的问题是我是否可以设置 NSURLMutuableRequest 的某种 cachePolicy 以便数据不会加载到内存中。。 p>

注意:我没有使用 downloadTaskWithRequest 进行下载,因为如果 resumeData 由 cancelByProducingResumeData 方法返回,返回 nil。这就是为什么使用 range requests 我使用 dataTaskWithRequest 来下载文件。

谢谢

【问题讨论】:

请添加一些代码来说明您到目前为止所做的尝试并帮助其他人诊断问题。 【参考方案1】:

没有。 NSURLSessionDataTask 将内容作为 NSData 对象返回,根据定义,该对象始终在 RAM 中。

【讨论】:

以上是关于NSURLSessionDataTask 内存警告应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章

使用 NSURLSessionDataTask 显示文件下载进度

NSURLSessionDataTask

NSURLSessionDataTask 导致高 CPU 使用率

NSURLSessionDataTask 中的 popViewController 动画工作缓慢

iOS8:NSURLSession:NSURLSessionDataTask '客户端在收到整个响应之前关闭连接'

什么时候使用 NSURLSessionDownloadTask 和 NSURLSessionDataTask?