В моем приложении есть анимация 260 изображений размером 640*1136 файла .jpg. Я загружаю все изображения в массив, как показано ниже.
При нажатии кнопки
- (void)singButtonClick:(id)sender
{
[self initSingArray];
[self startAnimationWithImages:singArray duration:2];
}
Он выделит мой массив и загрузит все 260 изображений из папки ресурсов.
self.imageArray = [[NSBundle mainBundle] pathsForResourcesOfType:@"jpg" inDirectory:nil];
- (void)initSingArray
{
if (!singArray)
{
singArray=[[NSMutableArray alloc] init];
for(NSString *str in self.imageArray)
{
if([[str lastPathComponent] hasPrefix:@"Sing_"])
{
[singArray addObject:[UIImage imageNamed:[str lastPathComponent]]];
}
}
}
}
а для анимации изображения просто использовал этот массив и передал его в UIImageView
- (void)startAnimationWithImages:(NSMutableArray*)images duration:(NSTimeInterval)duration
{
[self startAnimationWithImages:images duration:duration repeatCount:1];
}
- (void)startAnimationWithImages:(NSMutableArray*)images duration:(NSTimeInterval)duration repeatCount:(int)repeatCount
{
if (self.gifImageView.isAnimating)
{
[self.gifImageView stopAnimating];
}
self.gifImageView.animationImages = nil;
self.gifImageView.animationImages = images; // Animated image array
self.gifImageView.animationDuration = duration; // Perform a full animation when
self.gifImageView.animationRepeatCount = repeatCount;// Animation number of repetitions
[self.gifImageView startAnimating];
}
но при нажатии на кнопку В ПЕРВЫЙ раз анимация займет много времени. Она будет работать нормально, когда есть МЕНЬШЕ количество изображений.
Создаст ли размер изображений проблему?
Пожалуйста, помогите мне решить это.
ПРИМЕЧАНИЕ. Я нашел много сообщений, связанных с этими вопросами, но ни один из них не помог мне решить эту проблему.