Я добавляю CAKeyframeAnimation к слою с ImageView для представления анимации изображения:Удаление CAKeyframeAnimation не освободить память
CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"contents"];
animation.values = arrayOfImages;
[animation setRemovedOnCompletion:YES];
animation.delegate = self;
[animation setValue:delegate forKey:@"AnimatedImageViewDelegate"];
animation.repeatCount = repeatCount;
animation.fillMode = kCAFillModeForwards;
animation.calculationMode = kCAAnimationDiscrete;
[animation setValue:animationName forKey:@"name"];
Когда я хочу, чтобы запустить анимацию я называю:
animation.duration = duration;
[self.layer addAnimation:animation forKey:animationName];
[self.layer setContents:[animation.values lastObject]];
Когда анимация заканчивается, я хочу полностью удалить ее и освободить ее память.
[self.layer removeAllAnimations];
[self.layer removeAnimationForKey:animationName];
Выполнение этого действия и использование инструментарий-Activity Monitor, память не передается, если я не освобожу полное изображение.
Как я могу освободить эту память анимации, не уничтожая UIImageView ???
вы можете попробовать взять его в autoreleasepool – SAKrisT