我正在制作音乐应用,使用ASIHTTPRequest
访问服务器的api,并使用NSURLConnection
下载音乐文件。
一个音乐文件是10M左右。下载音乐文件时,访问服务器的api将比不下载音乐文件慢得多。
所以我想更改下载连接的优先级。但是没有API可以更改NSURLConnection
或NSURLRequest
的优先级。
如何存档?
答案 0 :(得分:1)
我认为只有NSOperationQueues才能被优先考虑。这是一个示例的链接: http://eng.pulse.me/tag/nsurlconnection/
另一种方法是,在完成其他下载后,停止下载音乐文件的简历。为此,您可以告诉ASIHTTP将下载保存到文件中并根据请求恢复。
以下是我的一个项目的示例:
- (void) executeFileDownloadAtURL:(NSURL *) aURL toDirectory:(NSString *) aDestinationPath;
{
self.request = [ASIHTTPRequest requestWithURL:aURL];
[self.request setDownloadDestinationPath:aDestinationPath];
self.request.downloadProgressDelegate = self.delegate;
[self.request setAllowResumeForFileDownloads:YES];
NSString *tmpDir = NSTemporaryDirectory();
NSString *tempFilePath = [NSString stringWithFormat:@"%@%@", tmpDir, @"TempMovie.mp4"];
[self.request setTemporaryFileDownloadPath:tempFilePath];
self.request.showAccurateProgress = YES;
self.request.delegate = self;
[self.request startAsynchronous];
}