【问题标题】:Frequent view switching causes lagg频繁切换视图导致卡顿
【发布时间】:2012-12-08 18:29:50
【问题描述】:

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

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

提前致谢!

【问题讨论】:

    标签: iphone xcode performance


    【解决方案1】:

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

    两个考虑

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

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

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

    【讨论】:

    • 谢谢,但现在我只是在 IB 中拖了一条线。我没有任何代码来释放视图和与之关联的对象(我使用 ARC)。我能做些什么来防止滞后?我应该使用哪个代码或不应该使用 IB 进行视图切换?我曾尝试在“dealloc”释放对象,但 ARC 禁止它...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多