Как быстрее загрузить изображение в iPhone? - PullRequest
0 голосов
/ 10 ноября 2011

Я использую ASIHTTPRequest для получения данных JSON из WCF.Затем я перебираю данные и извлекаю изображение из URL для отображения UITableView.Эта практика очень медленная в сети 3G.Есть ли что-нибудь, что я могу сделать, чтобы сделать это быстрее!

Вот пример кода

Этот фрагмент кода будет извлекать изображение из URL.Это находится под tableView cellFroRowAtIndexPath:

// Add image
NSString* trimmedCode = [[courseList objectAtIndex:indexPath.row] stringByReplacingOccurrencesOfString:@" " withString:@""];
NSString *imageName = [NSString stringWithFormat:@"http://www.someURL.com/images/%@.png", trimmedCode];
NSURL *url = [NSURL URLWithString: imageName];
cell.myImage.image = [UIImage imageWithData: [NSData dataWithContentsOfURL:url]];

return cell;

Любая помощь?

Ответы [ 4 ]

1 голос
/ 10 ноября 2011

Посмотрите статью ниже.Он показывает, как вы должны загрузить данные для каждой из строк, а затем установить загрузку изображений в фоновом режиме.

Загрузка изображений асинхронная

0 голосов
/ 16 ноября 2011

Я нашел похожий вопрос на Stackoverflow , в котором указан мой ответ.Более конкретный ответ на мой вопрос: я использую библиотеку SDWebImage .Который намного проще в использовании!Спасибо за вашу поддержку.

0 голосов
/ 10 ноября 2011

Отличная библиотека, которую я использую - EGOPhotoViewer.Вы можете асинхронно загружать изображения, и они автоматически кешируют изображения для вас, поэтому вам не нужно загружать их снова.Самое приятное, что вы можете показывать изображение-заполнитель до тех пор, пока вы не загрузите желаемое изображение.

Вы можете найти библиотеку здесь: https://github.com/enormego/PhotoViewer

Примечание: я не имею никакого отношения к созданию или создателям этой библиотеки.Это просто потрясающий проект, основанный на проекте «три20».

0 голосов
/ 10 ноября 2011

3G медленно реагирует на отклик. Он предназначен для отправки файлов достаточно быстро после его запуска. Но каждый http-запрос несет значительную задержку.

Вот почему вы не видите многопользовательские игры в режиме реального времени через 3G.

...