1

在我的应用程序中,我使用几个 UIImageViews 来制作图像动画。对于这些 UIImageViews 我调用startAnimating并无限期地循环动画。我的应用程序包含许多不同的视图,并且很多时候这些 UIImageViews 不在屏幕上。此外,我的应用程序在后台运行。我的问题是,如果对于这些我从未调用过stopAnimating的 UIImageViews,即使 UIImageViews 不在屏幕上(即它们的超级视图不在屏幕/隐藏或应用程序在后台),视图是否会继续动画并消耗处理能力?

提前致谢。

4

1 回答 1

1

老实说,我不确定,但我确实在苹果文档中找到了这个

隐藏视图

要在视觉上隐藏视图,您可以将其 hidden 属性设置为 YES 或将其 alpha 属性更改为 0.0。隐藏视图不接收来自系统的触摸事件。但是,隐藏视图确实参与了与视图层次结构相关的自动调整大小和其他布局操作。因此,隐藏视图通常是从视图层次结构中删除视图的便捷替代方法,特别是如果您计划在不久的某个时候再次显示视图。

我在这里通读了文档,但找不到任何可以保证可靠答案的东西。我记得通过我不久前观看的斯坦福在线课程,根本没有绘制隐藏视图以保持处理能力。但是被跟踪(如上所述)。话虽如此,我通常认为Apple会以有效的方式处理此问题,但不确定。

如果您想要一个更明确的答案,您可以为一堆视图设置动画并使用工具跟踪它们以查看它们消耗了多少。

于 2013-02-07T00:47:14.523 回答