2
我正在制作一个音乐应用程序,它使用ASIHTTPRequest
访问服务器的api,并使用NSURLConnection
下载音乐文件。如何更改NSURLConnection的优先级?
一个音乐文件是10M左右。下载音乐文件时,访问服务器的api将比下载音乐文件慢得多。
所以我想更改下载连接的优先级。但是没有改变NSURLConnection
或NSURLRequest
的优先级的API。
如何归档?
我正在制作一个音乐应用程序,它使用ASIHTTPRequest
访问服务器的api,并使用NSURLConnection
下载音乐文件。如何更改NSURLConnection的优先级?
一个音乐文件是10M左右。下载音乐文件时,访问服务器的api将比下载音乐文件慢得多。
所以我想更改下载连接的优先级。但是没有改变NSURLConnection
或NSURLRequest
的优先级的API。
如何归档?
我认为只有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];
}