我目前正在使用 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 *)imageWithContentsOfFileNSString *)path
直接加载内存
Try this answer as well.动画结束时删除图像数组
关于iphone - iOS - UIImageView 动画内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15445372/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |