2015-04-27 1 views
-1

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

Он всегда падает.

enter image description here

Я использовал тот же путь в других приложениях, а также размера изображения больше. Проблем не было. Не могли бы вы объяснить мне результаты профилировщика выше?

UPDATE: Я я использую SDWebImagePrefetcher

@autoreleasepool { 
    [SDWebImagePrefetcher.sharedImagePrefetcher prefetchURLs:_shop.imageUrls progress:^(NSUInteger finishedCount, NSUInteger allCount) { 
     float progress = 100 * (float)((float)finishedCount/(float)allCount); 
     HUD.labelText = [Helper getLocalizedString:@"loading"]; 
     HUD.detailsLabelText = [NSString stringWithFormat:@"%%%d", (int)progress]; 
    } completed:^(NSUInteger finishedCount, NSUInteger skippedCount) { 
     [self go]; 
    }]; 
} 
+1

Может опубликовать некоторый исходный код? – onnoweb

+0

Не могли бы вы предоставить код, стек обратной трассировки и полное сообщение об ошибке? В противном случае вопрос невозможен. – zaph

+0

Похоже, что вы загружаете «тяжелые» ресурсы специально, не реагируйте на предупреждения о памяти, но по какой-то причине помещаете вопрос в «утечки памяти» - я не думаю, что это разумно. Вместо того, чтобы спекулировать на небольшом количестве данных, показанных на снимке экрана, добавление отчета о сбоях и связанного с ним кода может быть хорошей идеей. –

ответ

0

Лучшие ставки: загрузка изображений в тугой Лоб без @autoreleasepool в петле.

Добавить:

for (...) { 
    @autoreleasepool { 
     code 
    } 
} 
+0

Я добавил @autoreleasepool, как указано выше, но все же у меня такая же проблема. Я добавил к неправильному месту? – Burak