首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在按下UIButton之前预先加载动画图像

在按下UIButton之前预先加载动画图像
EN

Stack Overflow用户
提问于 2013-12-15 05:34:42
回答 1查看 366关注 0票数 0

我在一个视图控制器上有5个动画。这已经是非常强烈的记忆强度,因为它们是视网膜质量。

这是我的密码

代码语言:javascript
复制
//Panel 1 Animation
    NSArray *panel1Frames = [NSArray array];
    panel1Frames = [[NSArray alloc] initWithObjects:
                 [UIImage imageNamed:@"origami_panel010001.png"],
                 [UIImage imageNamed:@"origami_panel010002.png"],
                 [UIImage imageNamed:@"origami_panel010004.png"],
                 [UIImage imageNamed:@"origami_panel010005.png"],
                 [UIImage imageNamed:@"origami_panel010006.png"],
                 [UIImage imageNamed:@"origami_panel010007.png"],
                 [UIImage imageNamed:@"origami_panel010008.png"],
                 [UIImage imageNamed:@"origami_panel010009.png"],
                 [UIImage imageNamed:@"origami_panel010010.png"],
                 [UIImage imageNamed:@"origami_panel010011.png"],
                 [UIImage imageNamed:@"origami_panel010012.png"],
                 [UIImage imageNamed:@"origami_panel010013.png"],
                 [UIImage imageNamed:@"origami_panel010014.png"],
                 [UIImage imageNamed:@"origami_panel010015.png"],
                 [UIImage imageNamed:@"origami_panel010016.png"],
                 [UIImage imageNamed:@"origami_panel010017.png"],
                 [UIImage imageNamed:@"origami_panel010018.png"],
                 [UIImage imageNamed:@"origami_panel010019.png"],
                 [UIImage imageNamed:@"origami_panel010020.png"],
                 [UIImage imageNamed:@"origami_panel010021.png"],
                 [UIImage imageNamed:@"origami_panel010022.png"],
                 [UIImage imageNamed:@"origami_panel010023.png"],
                 [UIImage imageNamed:@"origami_panel010024.png"],
                 [UIImage imageNamed:@"origami_panel010025.png"],
                 [UIImage imageNamed:@"origami_panel010026.png"],
                 [UIImage imageNamed:@"origami_panel010027.png"],
                 [UIImage imageNamed:@"origami_panel010028.png"],
                 [UIImage imageNamed:@"origami_panel010029.png"],
                 [UIImage imageNamed:@"origami_panel010030.png"],
                 [UIImage imageNamed:@"origami_panel010031.png"],
                 [UIImage imageNamed:@"origami_panel010032.png"],
                 [UIImage imageNamed:@"origami_panel010033.png"],
                 [UIImage imageNamed:@"origami_panel010034.png"],
                 [UIImage imageNamed:@"origami_panel010035.png"],
                 [UIImage imageNamed:@"origami_panel010036.png"],
                 [UIImage imageNamed:@"origami_panel010037.png"],
                 [UIImage imageNamed:@"origami_panel010038.png"],
                 [UIImage imageNamed:@"origami_panel010039.png"],
                 [UIImage imageNamed:@"origami_panel010040.png"],
                 [UIImage imageNamed:@"origami_panel010041.png"],
                 [UIImage imageNamed:@"origami_panel010042.png"],
                 [UIImage imageNamed:@"origami_panel010043.png"],
                 [UIImage imageNamed:@"origami_panel010044.png"],
                 [UIImage imageNamed:@"origami_panel010045.png"],
                 [UIImage imageNamed:@"origami_panel010046.png"],
                 [UIImage imageNamed:@"origami_panel010047.png"],
                 [UIImage imageNamed:@"origami_panel010048.png"],
                 [UIImage imageNamed:@"origami_panel010049.png"],
                 [UIImage imageNamed:@"origami_panel010050.png"],
                 [UIImage imageNamed:@"origami_panel010051.png"],
                 [UIImage imageNamed:@"origami_panel010052.png"],
                 [UIImage imageNamed:@"origami_panel010053.png"],
                 [UIImage imageNamed:@"origami_panel010054.png"],
                 [UIImage imageNamed:@"origami_panel010055.png"],
                 [UIImage imageNamed:@"origami_panel010056.png"],
                 [UIImage imageNamed:@"origami_panel010057.png"],
                 [UIImage imageNamed:@"origami_panel010058.png"],
                 [UIImage imageNamed:@"origami_panel010059.png"],
                 [UIImage imageNamed:@"origami_panel010060.png"],
                 [UIImage imageNamed:@"origami_panel010061.png"],
                 [UIImage imageNamed:@"origami_panel010062.png"],
                 [UIImage imageNamed:@"origami_panel010063.png"],
                 [UIImage imageNamed:@"origami_panel010064.png"],
                 [UIImage imageNamed:@"origami_panel010065.png"],
                 nil];
    panel1Image.animationImages = panel1Frames;
    panel1Image.animationDuration = 3.0;
    panel1Image.animationRepeatCount = 1;

这将加载当一个UIButton被按下,是否仍然有加载前的图像吗?

此外,是否有办法使它只有一个动画可以一次播放?这会减少内存使用量吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-15 14:10:54

您的问题是ios延迟图像的实际加载,直到它们需要呈现。与您所拥有的不同,创建一个名称数组,迭代这些名称,像现在一样创建一个图像,请求它的CGImage,然后使用它创建另一个您保存在可变数组中的uiimage。如果这个方法适用于您添加一个注释,那么就有一个带有比例的微妙之处。

如果你担心内存总量的问题,你可以把uiimages放到NSCache中。

如果您只想有一个动画播放,然后设置为关闭其他按钮,而一个正在播放。

编辑:如果你真的不能克服记忆的冲击,创建一个演示项目,每个按钮按一个动画,并将它张贴到一个公共网站,然后更新你的原始问题与一个项目的参考。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20591541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档