弹出窗口的ios动画

时间:2014-05-05 12:26:40

标签: ios animation

我想知道是否有人可以指导我在项目中遇到的特定问题。我先向您解释一下这个场景。我们有一个项目,由于我们正在使用的一些高质量图像,内存将近60mbs。我们计划在应用程序的各种活动中介绍一些小弹出窗口,这些弹出窗口将被动画化。我们想为这样的流行音乐分配不超过10 mbs,到目前为止我们已经探索了以下选项

  1. Imageview动画(内存使用率非常高)
  2. 使用电影播放器​​创建一个小视频(但它限制了我们的灵活性,我们必须检查视频质量)
  3. 现在我们也有一些潜在的选择,例如

    1. 使用动画框架,cocos2d或spritekit。但是,为此目的不能使用这样的框架是一种矫枉过正的行为吗?
    2. 通过在html5中转换它们而不是在webview中加载来使用SWF文件。这是一种有效的方式还是有一些潜在的副作用?
    3. 任何帮助将不胜感激!如果我的问题的任何方面不清楚,请告诉我

      此致

      Yasir Munir

2 个答案:

答案 0 :(得分:0)

我不明白你将如何使用SpriteKit或Cocos2d作为弹出窗口。这似乎只会使你的资源问题复杂化,无论可能是什么原因 - 如果你能让它发挥作用。

我也不认为你只是选择另一种做事方式来节省大量内存。图像具有基于尺寸和颜色位深度将使用的绝对内存量。你说你已经尽可能地优化了图像。我想知道你是否可能使用RGB565或其他东西并且具有可接受的质量,同时节省了大量内存。通过正确的抖动选项,这些选项在很小的时候看起来很棒。

您是否在测试中遇到内存警告?我试图了解你的内存消耗数字的用例。

处理图像并希望内存使用率非常低是相互冲突的目标。我还建议(因为我们只有很少的细节可以使用),你可以看看可以将SVG转换为代码的程序(例如绘图代码)。例如,如果您有可以作为向量完成的徽标和图形,那么这可能会节省很多。

祝你好运!

答案 1 :(得分:0)

问题的根源是用于在将数据呈现给视图之前保存解压缩的图像数据的内存。它与弹出窗口没有任何关系。您可以在此SO answer找到更详细的信息和完整的解决方案。但是,要真正解决此问题,您需要使用构建的框架来解决此特定的内存使用问题。 SprikeKit,Cocos2D和CoreGraphics没有解决非常大的图像的解压缩memmory使用问题。因此,您可以通过为图像使用过多内存来轻松地在真实用户设备上崩溃程序。