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

时间:2009-11-20 15:54:44

标签: iphone performance memory-management animation uiview

我在我的应用中运行了多个UIView动画。它们很短,然后对一个方法进行回调,然后通常会触发另一个动画。这导致很多小动画同时运行,每个动画都会回击回调。

这实际上表现非常好,并且对于前几个级别(应用程序是游戏),没有观察到任何问题。然而,随着你继续深入游戏,我开始得到记忆警告并最终崩溃。我把NSLog放在我所有的dealloc方法中,所以我可以看到所有东西都被正确释放和释放。我还在应用程序上运行静态分析并修复它找到的任何内容。

对我来说奇怪的部分是这样的:运行多个动画引起的任何性能问题都不应该受处理器限制(即我不应该看到一堆减速等)?似乎一切都表现得很好,它只是内存太快而且我没有其他任何东西可以释放。在UIView方面的框架中是否存在需要大量内存来执行这些操作的东西?在执行这些操作时,我需要避免框架中的泄漏吗?

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

2 个答案:

答案 0 :(得分:1)

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

我建议你应该使用Instruments for Leaks,ObjectAlloc& CPU采样器.. 与NSLogs

中的dealloc相比,这会提供更好的视图

答案 1 :(得分:0)

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

最诚挚的问候。