【问题标题】:ios animations for popups用于弹出窗口的 ios 动画
【发布时间】:2014-05-05 12:26:39
【问题描述】:

我想知道是否有人可以指导我解决我在项目中面临的特定问题。让我先解释一下这个场景。由于我们使用了一些高质量的图像,我们有一个项目需要将近 60mbs 的内存。我们计划在应用程序的各种活动中引入一些小弹出窗口,这些弹出窗口将是动画的。我们希望为此类 pop 分配不超过 10 mbs,到目前为止,我们已经探索了以下选项

  1. Imageview 动画(非常占用内存)
  2. 使用电影播放器​​制作小视频(但它限制了我们的灵活性,我们必须检查视频质量)

现在我们也有一些潜在的选择,例如

  1. 使用动画框架,cocos2d 或 spritekit。但是,为此目的使用这样的框架会不会有点矫枉过正?
  2. 通过将 SWF 文件转换为 html5 并在 webview 中加载来使用它们。这是一种有效的方法还是有一些潜在的副作用?

任何帮助将不胜感激!如果我的问题的任何方面不清楚,请告诉我

问候

亚西尔·穆尼尔

【问题讨论】:

  • 弹出窗口的内存消耗如此之高的原因是什么?每个弹出窗口是否由多个高分辨率图像生成?无论如何,如果是这种情况,没有任何框架可以帮助您摆脱图像中的这种内存消耗。您应该考虑缩小图像、平铺、将图像保存到某个文件(甚至可以将它们保存为原始 RGB 位图以便快速加载)。
  • 内存不被弹窗占用,我们实现了一个简单的 uiview 并在其上添加了图像,它们占用了内存(我们已经在不偏离核心要求的情况下尽可能地对其进行了优化),现在我们希望添加这些具有各种功能的小动画,弹出窗口就是一个例子。我们希望为这些动画分配最少的资源,并想知道可能的最佳解决方案

标签: ios animation


【解决方案1】:

我不明白您将如何仅将 SpriteKit 或 Cocos2d 用作弹出窗口。这似乎只会加剧您的资源问题,无论根本原因是什么——如果您甚至可以让它工作的话。

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

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

处理图像和希望内存使用量非常低是相互矛盾的目标。我还建议(因为我们没有多少细节可以使用)您查看可以将 SVG 转换为代码的程序(例如绘制代码)。例如,如果您有可以作为矢量制作的徽标和图形,这可能会节省大量资金。

祝你好运!

【讨论】:

    【解决方案2】:

    问题的根源是用于保存解压缩图像数据的内存,然后再将数据呈现到视图。它与弹出窗口没有任何关系。您可以在此SO answer 找到更详细的信息和完整的解决方案。但是,要真正解决这个问题,您需要使用一个框架来解决这个特定的内存使用问题。 SprikeKit、Cocos2D 和 CoreGraphics 没有解决超大图像的解压缩内存使用问题。因此,您可以很容易地在真实用户设备上使用过多的内存来存储图像,从而使程序崩溃。

    【讨论】:

      猜你喜欢
      • 2011-09-30
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-18
      相关资源
      最近更新 更多