Установка свойства изображения в UIImageView вызывает значительное отставание

Позвольте мне рассказать вам о проблеме, с которой я столкнулся, и о том, как я пытался ее решить. У меня есть UIScrollView, который загружает подпредставления как прокрутка слева направо. Каждое подпредставление имеет 10-20 изображений размером около 400x200. Когда я прокручиваю от просмотра к представлению, я испытываю некоторое отставание.

Проведя расследование, я обнаружил, что после разгрузки всех видов и повторной попытки задержка исчезла. Я понял, что причиной задержки было синхронное кэширование изображений. Поэтому я создал подкласс UIImageView, который загружал изображения асинхронно. Код загрузки выглядит следующим образом (self.dispatchQueue возвращает очередь последовательной отправки).

- (void)loadImageNamed:(NSString *)name {
    dispatch_async(self.dispatchQueue, ^{
        UIImage *image = [UIImage imageNamed:name];

        dispatch_sync(dispatch_get_main_queue(), ^{
            self.image = image;
        });
    });
}

Однако после изменения всех моих UIImageViews на этот подкласс я все еще испытывал задержку (я не уверен, был ли он уменьшен или нет). Я свел причину проблемы кself.image = image;, Почему это вызывает такое большое отставание (но только при первой загрузке)?

Пожалуйста, помогите мне. знак равно

Ответы на вопрос(2)

Ваш ответ на вопрос