Mer*_*ryl 10 iphone objective-c nsurlconnection ios6
我在下载5 MB文件时遇到问题,在iPhone 5上使用iOS 6.1需要2分多钟.
使用相同iOS版本的iPhone 4S仅需10秒,两者都使用WiFi.
我尝试了不同的缓存策略和NSURLRequest的超时间隔,它没有改变,它仍然需要很长时间.下载是通过HTTP.
我正在使用NSURLConnection类,在下载这个"大"文件之前我正在下载另外两个.
不知道还有什么可以重要,减少时间.
提前致谢.
码:
@interface MyClass : NSObject <NSURLConnectionDelegate>
{
@private id delegate;
NSURLConnection *connection;
NSMutableData* responseData;
//...
}
#import "MyClass.h"
@implementation MyClass
-(void)getObj1:(id)delegateObj
{
delegate = delegateObj;
NSString *url = @"...";
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:120.0];
connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if(connection)
{
responseData = [NSMutableData data];
}
}
-(void)getObj2:(*String)somesString
{
NSString *url = @"...";
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:120.0];
connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if(connection)
{
responseData = [NSMutableData data];
}
}
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
//....
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[responseData appendData:data];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
if(firstRequest)
{
//save data from first request and set responseData clear
[self getObj2:@"..."];
}
}
Run Code Online (Sandbox Code Playgroud)
和其他没有什么特别的,我希望这就足够了
我发现这篇文章https://devforums.apple.com/message/754875#754875但对我来说仍然无法正常工作.但是现在我更好地了解这种奇怪的情况.