我正在使用 RestKit 在我的应用程序中下载多个文件。只要文件不是太大,一切都像魅力一样。不幸的是,我尝试下载一个大视频文件(大约 230 MB)并得到一个memory warning
应用程序崩溃。
我从以下行开始下载
[[RKClient sharedClient] get:[NSString stringWithFormat:@"/%@", listItem.filename] delegate:self];
在委托方法中,我将其本地保存在appDirectory/Library/Caches/
- (void)request:(RKRequest *)request didLoadResponse:(RKResponse *)response
{
NSURL * url = [NSURL fileURLWithPath:[cacheDirectory stringByAppendingPathComponent:response.URL.lastPathComponent]];
[[response body] writeToURL:url atomically:YES];
}
我检查了 Instruments 中的应用程序是否存在内存泄漏,并看到它在出现Live Bytes
之前一直在*Overall Allocations*
上升。虽然没有泄漏。Low Memory Alerts
100 MB
删除负责保存文件的行 ( [[response body] writeToURL:url atomically:YES];
) 并没有改变任何东西,所以我猜问题出在 RestKit 的某个地方。
在研究时,我偶然发现了一种允许直接下载文件的方法,ASIHTTPRequest
并认为类似的方法可以解决问题,但不确定。
RestKit 中是否有可能直接下载我错过的?
或者
有没有更好的方法来使用我应该知道的 RestKit 下载文件?