1

在我陷入困境的情况下需要您的建议/建议。我正在开发一个包含 12-15 个视频的 iPhone 应用程序。用户可以下载任何视频,然后在他的 iPhone 上播放。问题是我正在将视频写入文档目录。It works well for small videos(~50 mb) but when the bigger ones are choosen(~250 mb) the app crashes, due to low memory warnings.


我知道该应用程序由于内存占用增加而崩溃。有没有其他方法可以更有效地(以块的形式)下载大文件而内存利用率更低?否则我想只为小视频提供下载选项,只为大尺寸视频提供流媒体选项。

4

1 回答 1

2

1) 使用异步 NSUrlConnection 对象下载视频。

2) 预先创建文件保存视频,获取文件描述符,并在打开的文件上设置F_NOCACHE标志,以免占用磁盘缓存中的内存。

3)当您在委托调用中获得小块数据作为 NSData 对象时,将它们附加到打开的文件中。

4) 下载完成后,关闭文件。

您可能需要验证设备是否有足够的空间来接受下载;这里有关于如何做到这一点的帖子。

于 2013-06-01T11:18:25.657 回答