Estoy tratando de comprender el rendimiento NSURLConnection
en una red 3G desde un iPhone. Tengo el siguiente código de pruebaNSURLConexión de optimización
-(void)doTest2 {
max = 5;
NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
NSURLRequest *request2 = [[[NSURLRequest alloc] initWithURL:url] autorelease];
NSURLConnection *conn=[[NSURLConnection alloc] initWithRequest:request2 delegate:self];
self.startDate = [NSDate date];
if (conn)
{
receivedData = [[NSMutableData data] retain];
} }
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
self.endDate = [NSDate date];
NSTimeInterval interval = [self.endDate timeIntervalSinceDate:self.startDate];
NSLog(@"Time:%f Size:%u", interval, [receivedData length]);
[receivedData release];
count = count + 1;
if (count == max) {
count = 0;
sleep(3);
}
self.doTest2;}
La primera solicitud es lenta (más de 1 segundo). Las solicitudes 2-5 son rápidas (menos de .25 segundos). Si duermo durante 3 o más segundos, la primera solicitud después del sueño es lenta. Pero si duermo menos de 3 segundos, es rápido. ¿Alguna idea de por qué?