在iPhone应用程序中,我目前拥有将文件从Web下载到iPhone并将其保存到磁盘的代码。
问题是,如果文件是 large ,那么应用程序的内存使用量就会突然崩溃。应用程序崩溃。
我确信我不是以“正确”的方式做到这一点。
目前我有以下内容:
mediaData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:path]];
[mediaData writeToFile:fullPath atomically:YES];
[mediaData release];
正如我所提到的,这适用于类似图片的内容,但不适用于视频剪辑等内容,因为应用程序崩溃了。
这样做的正确方法是防止我的应用崩溃? 我的想法可能是套接字,但由于我没有做太多套接字编程,我不确定。
由于
答案 0 :(得分:5)
您可以使用异步运行的NSURLConnection并以可管理的块提供数据。
答案 1 :(得分:2)
由于NSURLDownload
在iPhone上不可用,您可能希望使用NSURLConnection
并使用NSMutableData
委托方法缓存connection:didReceiveData:
中的某些数据。本文介绍了其中一些内容:http://dannyg.com/iapps/Blog/Entries/2009/2/16_The_Joy_in_Discovering_You_Are_an_Idiot.html