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];
}