2013-06-02 3 views
2

Я получаю медленную производительность при использовании сторонних фреймворков для загрузки асинхронных изображений. Я пробовал AFNetworking и SDWebImage, прокрутка UICollectionView становится очень медленной.Медленная производительность UICollectionView с загрузкой асинхронного изображения

Я попытался следующие:

-(void)setImageForIndexPath:(NSIndexPath*)path withUrl:(NSURL*)url{ 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
AFImageRequestOperation *operation; 
operation = [AFImageRequestOperation imageRequestOperationWithRequest:request success:^(UIImage *image) { 
    CollectionCellPreview *cell = (CollectionCellPreview *)[self.collectionView cellForItemAtIndexPath:path]; 
    cell.myImageView.image = image; 
}]; 
[operation start]; 

}

Как также:

[cell.imageLocation setImageWithURL:url]; 

Я пропускаю что-то важное, используя эти рамки? Это кажется очень полезным и мощным, и я не понимаю, почему он ведет себя таким образом.

+0

ли вы имеете в виду образы загрузки медленно? Или у вас есть прерывистая прокрутка в вашем представлении коллекции? –

+0

У меня есть прерывистая прокрутка в UICollectionView, я заметил, что она медленнее на симуляторе. – aumanets

+0

Я использую UICollectionView с SDWebImage. У меня нет медленной прокрутки. Проблема может возникнуть откуда-то еще. –

ответ

4

Используйте Профайлер времени Xcode в сборке -> Профиль, чтобы узнать, что вызывает отставание. Это почти наверняка в некотором коде, который вы написали, хотя я видел, что автоматическая компоновка также вызывает некоторые проблемы, особенно если ваши взгляды сложны.

Time Profiler учебник здесь, хотя это для более старой версии: http://blancer.com/tutorials/flex/78335/apple-profiling-tools-shark-is-out-instruments-is-in/

Анализ производительности Auto-Layout здесь: http://pilky.me/view/36