[英]iOS - UIImageView animation memory leak?
我目前正在使用UIImageView
来动画一系列图像,具体取决于用户按下的按钮。 我在NSArrays
创建了大约5组不同的图像,例如:
-(void)initiateAnimations {
punchani = [NSArray arrayWithObjects:
[UIImage imageNamed:@"punch0001.png"],
[UIImage imageNamed:@"punch0002.png"],
[UIImage imageNamed:@"punch0003.png"],
[UIImage imageNamed:@"punch0004.png"],
[UIImage imageNamed:@"punch0005.png"],
[UIImage imageNamed:@"punch0006.png"],
[UIImage imageNamed:@"punch0007.png"],
[UIImage imageNamed:@"punch0008.png"],
[UIImage imageNamed:@"punch0009.png"],
[UIImage imageNamed:@"punch0010.png"],
[UIImage imageNamed:@"punch0011.png"],
[UIImage imageNamed:@"punch0012.png"],nil];
}
然后我使用标准的动画代码将它们循环一次:
player.animationImages = punchani;
player.animationDuration = 0.50;
player.animationRepeatCount = 1;
[player startAnimating];
但是,当我将越来越多/不同的图像加载到UIImageView
,最终得到的输出是内存警告,如下所示:(用'appname'替换了我的实际可执行文件)
2013-03-15 20:52:23.065 AppName[2080:907] Received memory warning.
我知道这可能会发生,但是ARC禁止我发布阵列。 我该如何解决此泄漏? 谢谢
UIImage imageNamed:缓存图像,并将按自己的时间表释放内存。 使用+ (UIImage *)imageWithContentsOfFile:(NSString *)path
直接加载内存
也尝试此答案。 动画结束时删除图像阵列
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.