将大文件从Web下载到iPhone以写入磁盘的最佳方法

kdb*_*las 1 iphone cocoa-touch

在iPhone应用程序中,我目前有代码将文件从Web下载到iPhone并将其保存到磁盘.

问题是,如果文件很大,那么应用程序的内存使用量就会急剧下降.

我确信我不是以"正确"的方式做到这一点.

目前我有以下内容:

mediaData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:path]];
[mediaData writeToFile:fullPath atomically:YES];
[mediaData release];
Run Code Online (Sandbox Code Playgroud)

正如我所提到的,这适用于像图片这样的东西,但不适用于像视频剪辑这样的东西,因为应用程序崩溃了.

有什么方法可以防止我的应用崩溃?我的想法可能是套接字,但由于我没有做太多套接字编程,我不确定.

谢谢

Chr*_*die 5

您可以使用NSURLConnection,它以异步方式运行并以可管理的块的形式提供数据.

  • 您还希望使用像NSFileHandle这样的API将数据写入磁盘.当然对于视频剪辑,您最好不要使用电影播放器​​的内置下载支持吗? (2认同)