1

我使用加载在名为 的 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){
                 }];
4

0 回答 0