Я хочу предварительно загрузить изображения, так что, когда я добавляю их UIImageView в мой currentView, PNG уже находятся в памяти, загружены, накачаны и т. Д.
Как вы можете видеть из этого времени профилирования, изображения загружаются, когда они отображаются:
В то же время я уже предварительно загружаю эти изображения. Просто когда я загружаю это представление, я тщательно создаю все изображения и представления изображений для этих анимаций, используя этот код:
- (UIImageView*)createAnimationForReel:(NSString*)reel ofType:(NSString*)type usingFrames:(NSInteger)frames{
UIImageView *imageView = [[UIImageView alloc] init];
NSMutableArray *imageArray = [NSMutableArray arrayWithCapacity:frames];
for (int i=0;i<frames;i++){
NSString *image;
if(i<10){
image = [NSString stringWithFormat:@"%@_0%i", reel, i];
} else {
image = [NSString stringWithFormat:@"%@_%i", reel, i];
}
NSString *path = [[NSBundle mainBundle] pathForResource:image ofType:@"png" inDirectory:type];
UIImage *anImage = [[UIImage alloc] initWithContentsOfFile:path];
[imageArray addObject:anImage];
}
imageView.animationImages = [NSArray arrayWithArray:imageArray];
imageView.animationDuration = 2.0;
return imageView;
}
И когда я читаю документацию, он говорит: «Этот метод загружает данные изображения в память и помечает их как очищаемые. Если данные очищаются и их необходимо перезагрузить, объект изображения снова загружает эти данные с указанного пути. " говорить о initWithContentOfFile. Так что мое изображение "должно" быть загружено.
Но нет.
Конечно, чего-то не хватает в моем отражении. Но что?