【发布时间】:2013-09-14 01:53:44
【问题描述】:
我将一系列 .png 图像加载到动画中,效果很好,但是当我切换到另一个视图时,动画使用的内存没有释放。每次返回该视图时都会占用越来越多的内存,直到最终应用程序由于内存压力太大而退出。
当视图改变时,有什么我可以放入视图 diddisappear 或其他方法来从动画中释放此内存吗?
这似乎只发生在我的 4S 运行 iOs 7 上。在我的 4S 上运行 6.1.2 它运行顺利。
NSArray *animationArray = [NSArray arrayWithObjects:
[UIImage imageNamed:@"0001.png"],
[UIImage imageNamed:@"0002.png"],
[UIImage imageNamed:@"0003.png"],
...
nil];
self->tapanimation1.animationImages =animationArray;
self->tapanimation1.animationDuration = .5;
self->tapanimation1.animationRepeatCount = 1;
[self->tapanimation1 startAnimating];
【问题讨论】:
-
好的,我编辑了它以显示动画的代码
-
imageNamed缓存图像(尽管它们是在内存压力下释放的,所以如果您由于内存不足而崩溃,那么缓存不是问题)。但是imageWithContentsOfFile可以将缓存问题排除在循环之外,因此您可以确认这是否是问题所在。但我怀疑一定是发生了其他事情。 -
该应用在没有动画的情况下运行良好。我正在为 iOS 7 更新它,并想为它添加更多闪光,但这些动画妨碍了它的运作,所以我不认为它是别的东西。
标签: ios animation memory crash