Как я могу загрузить изображения в системный кеш iphone? - PullRequest
0 голосов
/ 09 июля 2010

У меня есть tableView с несколькими большими изображениями.Я изо всех сил пытаюсь улучшить очень резкую прокрутку.Если я использую ImageNamed для загрузки изображений, прокрутка сначала прерывистая, но после просмотра изображений плавная прокрутка.Я знаю, что ImageNamed добавляет изображения в системный кеш, поэтому мой вопрос: возможно ли предварительно загрузить изображения в системный кеш перед их просмотром?

Я попытался добавить следующий код вмой метод viewDidLoad:

for (int i = 0; i < appDelegate.detailSectionsDelegateDict.count; i++) {
         NSString *imageString = [NSString stringWithFormat:@"%@",[[appDelegate.detailSectionsDelegateDict objectAtIndex:i] objectForKey:@"MainTrackImage"]];
        NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
        UIImage* theImage;
        theImage = [UIImage imageNamed:imageString];
         [imageCacheArray insertObject:theImage atIndex:i];
}

Затем я рисую правильное изображение из imageCacheArray в моем методе CellForRowAtIndexPath.Но результат по-прежнему прерывистая прокрутка.

Спасибо!

1 Ответ

3 голосов
/ 09 июля 2010

Получение табличного представления с изображениями (особенно большими) для плавной прокрутки не так тривиально, как вы думаете. Загрузка множества изображений с помощью [UIImage imageNamed:] очень быстро заставит трамплин убить ваше приложение, так как оно начинает превышать объем памяти. Взгляните на сессионные видео Core Animation с WWDC этого года, в частности, посмотрите на сессию 425 «Базовая анимация на практике, часть 2». Они охватывают именно эту тему, и это очень хорошо сделано. Вы также можете получить соответствующий исходный код, если войдете в свою учетную запись разработчика.

...