iOS 动画 Logo ——低内存替代品

标签 ios animation memory-management

我有一个三秒钟的 PNG 序列( Logo 动画),我想在我的 iOS 应用程序启动后立即显示它。由于这是应用程序中唯一的动画序列,我不想使用 Cocos2D。

但是对于 UIImageView 的 animationImages,应用程序会在 iPod Touch 设备上耗尽内存。

是否有更注重内存/更有效的方式来显示此动画?也许是不涉及 Cocos2D 的 Sprite 表类?还是别的?

最佳答案

如果这是动画启动画面或类似画面,请注意 HIG 不赞成这种行为(至少在全屏游戏之外)。

如果您没有被这些争论吓倒(或制作游戏),您可以考虑将您的动画保存为 MPEG-4 视频并使用 MPMoviePlayerController 来呈现它。有了一个好的压缩器,应该可以大大降低大小和内存使用量,同时仍然拥有高质量的 Logo 动画。

我怀疑您能否通过其他任何方式找到很大的改进——例如, Sprite 表仍将执行与 PNG 序列相同的工作。问题是对于大多数动画来说,很多像素在每一帧中都没有被触及……如果你只是将它作为一系列图像来呈现,你就会在时间上重复的像素上浪费大量的时间和空间。这就是我们拥有视频编解码器的原因。

关于iOS 动画 Logo ——低内存替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10083295/

相关文章:

objective-c - 如何像 CAMediaTimingFunction 的 functionWithControlPoints 一样自定义 UIViewAnimationCurve

ios - 调整 UITableView 的大小,如 Rdio iOS 应用程序中所示

performance - 动画 SVG 旋转器使用过多的 cpu 和 gpu

wpf - WPF 动画上的像素化​​和破损文本

cocoa - 创建对象然后将其添加到向量时是否应该[保留]和[释放]?

android - 9-patch 是否删除相同的像素以节省空间?

ios - ViewController 的属性为零

javascript - 在用户激活的动画期间暂停所有背景动画(jquery)

c - valgrind 测试内存管理出错?

确保释放已用内存的 C++ 宏?