1

我制作了一个运行非常流畅的应用程序。但是,每次我切换视图时,它都会变得更加滞后,最终(在大约 5 次切换之后)它显示出令人难以置信的滞后量。视图切换似乎导致它。我能做些什么来防止它?是因为我没有正确切换视图,还是 ARC?

注意:我使用 IB 来切换视图(ctrl + 单击 -> 画一条线,然后选择模态)。

提前致谢!

4

1 回答 1

1

使用 Instruments 中的分配工具,验证您是否正确管理内存。

两个考虑

  1. 如果您在每次切换时创建视图的新实例,请确保正确释放旧视图(以及与其关联的所有对象)。
  2. 更好的方法是,如果您只是更改视图中的数据,而不是显示完全不同的视图,请使用视图的单个实例,然后使用新数据对其进行更新。

无论哪种方式,听起来您的问题是您不断分配视图的新实例(以及随之而来的对象)并且没有正确释放过时的副本。

Instruments 中的分配将准确告诉您内存中有多少副本。您应该看到当您切换视图时,实例的数量不会持续增加。

于 2012-12-08T18:38:29.920 回答