Улучшение скорости - UIImage от NSURL - PullRequest
1 голос
/ 02 ноября 2010

Я использую следующий код для извлечения некоторых изображений, которые идут в виде таблицы. Но чтобы получить 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];

Ответы [ 3 ]

7 голосов
/ 11 апреля 2013

Здесь profileimg - это получение от Api, String name

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

imageview.image=[[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:profileimg]]];
0 голосов
/ 02 ноября 2010

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

0 голосов
/ 02 ноября 2010

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

...