代码之家  ›  专栏  ›  技术社区  ›  Bdebeez

多个UIView动画回调是否是一个坏主意(即导致mem问题)?

  •  1
  • Bdebeez  · 技术社区  · 15 年前

    我的应用程序中运行了多个UIView动画。它们非常短,然后回调一个方法,然后通常触发另一个动画。这导致许多小动画同时运行,每次都会触发回调。

    这实际上表现得很好,在前几个关卡(应用程序是一个游戏),没有发现任何问题。然而,随着游戏的深入,我开始收到内存警告,最终崩溃。我已经在我所有的dealloc方法中加入了NSLog,所以我可以看到所有的东西都被正确地释放和释放了。我还对应用程序进行了静态分析,并修复了它发现的任何问题。

    对我来说,奇怪的是:运行多个动画引起的任何性能问题都不应该受到处理器的限制(即,我不应该看到一系列的减速之类的情况吗)?似乎每件事都表现得很好,只是内存增长太快了,我再也不能释放任何东西了。在UIView方面的框架中是否有需要大量内存来执行这些操作的东西?在执行这些操作时,我需要避免的框架中是否存在漏洞?

    附加说明:我正在制作一个自定义类的动画,该类扩展UIView,并在其中包含一个标签和一个UIImageView。

    2 回复  |  直到 15 年前
        1
  •  1
  •   prakash    15 年前

    多个动画不应导致内存警告。。

    我建议您运行泄漏检测仪,ObjectAlloc&CPU采样器。。 这将提供一个比以前更好的视角 NSLogs dealloc

        2
  •  0
  •   Matt Long    15 年前

    您没有显示任何代码,因此很难给出具体建议,但是,您是否考虑过使用核心动画层而不是UIView?如果需要为文本设置动画,则必须使用视图,因为手机上没有CATextLayer,但是,Core Animation提供了在2d空间中绘制复杂精灵的功能,这使它成为许多游戏的理想选择。

    顺致敬意,