очереди загрузки большого количества изображений в iOS 4? - PullRequest
2 голосов
/ 21 декабря 2010

Есть ли какие-то новые дополнения к фреймворку для того, чтобы сделать что-то подобное в iOS 4 сейчас? Я знаю, что мог бы использовать http://allseeing -i.com / , но это потребовало бы большого изменения моего кода и скорее использовало бы то, что доступно для меня.

РЕДАКТИРОВАТЬ РЕШЕНИЕ:
Вот решение, которое я выбрал, и оно работает как шарм для 3000+ изображений:

int j = 0;
        do{
            NSLog(@"x = %i, items count: %i", j, [items count]);

            if ((int)[[self networkQueue] requestsCount] < 100) {

                NSString *url =[NSString stringWithFormat:@"http://images.myurl.com/skus/%@/%@_tn.jpg",[[[manufacturers objectAtIndex:i] ManufacturerID] stringValue], [[items objectAtIndex:j]  valueForKey:@"PhotoName"]];
                NSString *url2 =[NSString stringWithFormat:@"http://images.myurl.com/skus/%@/%@_lg.jpg",[[[manufacturers objectAtIndex:i] ManufacturerID] stringValue], [[items objectAtIndex:j]  valueForKey:@"PhotoName"]];

                ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:url]];
                [[self networkQueue] addOperation:request];

                ASIHTTPRequest *request2 = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:url2]];
                [[self networkQueue] addOperation:request2];

                if (j==0) {
                    [[self networkQueue] go];
                }
                j++;
            }
        }
        while(j < [items count]);

Просто ставя в очередь до 100 за раз, и когда они падают, я добавляю больше, похоже, что мое потребление памяти начинает немного увеличиваться, так как я работаю над этим, но оно уменьшается после завершения очереди.

1 Ответ

1 голос
/ 21 декабря 2010

Может потребоваться некоторая переделка кода вашего сетевого интерфейса, но переключение на ASI в конечном итоге окупится.

(Это ASIHttpRequest, на http://allseeing -i.com / Tags/ ASIHTTPRequest )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...