UIViewAnimation +设置图像会导致内存问题

时间:2014-05-26 04:27:16

标签: ios animation

在我的应用程序中,我正在向左,向右,向上放大,用不同的图像缩小动画。

这里我使用了改变图像的方法。

 int j=7;
-(void)changeImage{

    j=j-1;
    if (j==0) {
        j=7;
    }
    NSString *str=[NSString stringWithFormat:@"BG_%d.JPG",j];
    [imgView setImage:[UIImage imageNamed:str]];

}
  

注意:我正在创建自定义动画,因此我不想使用   imgView.animationImages

这是我的图像动画代码

 [UIView animateWithDuration:ZOOM_ANIMATION_DURATION delay:0.0 options:UIViewAnimationOptionCurveEaseIn animations:^{
                        imgView.transform = CGAffineTransformMakeScale(1.4,1.4);
                    } completion:^(BOOL finished) {
                        [UIView animateWithDuration:ZOOM_ANIMATION_DURATION delay:0.0 options:UIViewAnimationOptionCurveEaseIn animations:^{
                            imgView.transform = CGAffineTransformMakeScale(1.0,1.0);
                        } completion:^(BOOL finished) {

                            [self animateLeft];
                            [self changeImage];
                        }];

问题:所以每当我设置图像时,内存增加7.0到8.0%会有更好的方法增加。

感谢。

1 个答案:

答案 0 :(得分:0)

您不应该使用+ imageNamed,如其缓存图像的文档中所述,它们将仅在内存压力条件下被驱逐。尝试使用+imageWithContentsOfFile如果图片大小相同,您将看不到这么大的增长。