我使用加载在名为 的 NSMutableArray 中的 150 个 .PNG 图像序列制作了 UIView 动画sequenceArray
,托管在 UIImageView 子类中。我的问题是,动画序列播放完后,内存仍然被这额外的 450MB(3MBx150 帧)占用,无法释放。我尝试添加[animationView removeFromSuperView];
完成块,但正如我想象的那样,它不起作用,因为动画没有出现,而且我也尝试过[sequenceArray removeAllObjects];
但没有任何成功。我不确定__weak
参考是否可以帮助我或没有 ARC 的手动版本。你有什么建议吗?谢谢!
这里的动画方法:
[UIView animateWithDuration:animationDuration
delay:0.0f
options:UIViewAnimationOptionCurveEaseOut
animations:^{
animationView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
[self addSubview:animationView];
animationView.animationImages = sequenceArray;
animationView.animationDuration = animationDuration;
animationView.animationRepeatCount = 1;
[animationView startAnimating];
}
completion:^(BOOL finished){
}];