Улучшить скорость — UIImage от NSURL

Я использую следующий код для получения некоторых изображений, которые входят в табличное представление. Но для загрузки 30 изображений требуется время (5-6 секунд).

Есть ли более умный/быстрый способ сделать это?

NSString *imageUrl = ......;
NSString *urlStr = 
[imageUrl UrlstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *path = [[NSString alloc] initWithFormat:@"http://xxx.dk/xml.aspx%@", urlStr]; 
NSURL *url = [NSURL URLWithString:path];


NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *img = [[UIImage alloc] initWithData:data];
return img;
[..... release];

person Malene    schedule 02.11.2010    source источник


Ответы (3)


Здесь profileimg это получение от API, String имя

NSString *profileimg=[Check objectForKey:@"IMAGE"];

imageview.image=[[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:profileimg]]];
person chandrika    schedule 11.04.2013

Я бы предпочел загружать каждое новое изображение в массиве изображений, когда на экране появляется ячейка, и просто отображать уже сохраненное изображение, если ячейка появляется на экране во второй раз (т.е. изображение для этой ячейки уже загружено).

person knuku    schedule 02.11.2010

использовать асинхронную загрузку изображения. ознакомьтесь с этим примером кода: http://developer.apple.com/library/ios/#samplecode/LazyTableImages/Introduction/Intro.html

person jithinroy    schedule 02.11.2010