Я добавляю CAKeyframeAnimation к слою ImageView для представления анимации изображения:
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];
При этом и использовании Instruments-Activity Monitor память не восстанавливается, пока я не выпущу полный imageView.
Как я могу освободить эту анимационную память без уничтожения UIImageView ???