0

当我的应用程序接收到新数据时,我的视图控制器会发送和接收通知。视图控制器然后重新加载其 tableview 的部分之一。这通常只需要 40 毫秒左右。

但是,如果我推送了另一个视图,通知仍由原始控制器处理,但 tableview 的重新加载需要大约 10-20 倍的时间。

我当然可以努力提高我的 tableview 性能,但首先我需要了解是什么原因造成的。也将感谢一些使用 Instruments 帮助我自己调试的帮助。到目前为止,我已经运行了“时间分析器”仪器,看起来大部分精力都花在了系统方法“ [UIView(Hierarchy) layoutIfNeeded]”上。这对我来说意义不大。

4

1 回答 1

0

您绝对不需要在不在屏幕上的元素上更新 UI。UI 更新将在主线程中进行,这将对用户体验产生负面影响。

更新您的数据源(在后台线程中)应该足够了,然后您可以在下次向用户显示 tableview 时更新它。

于 2013-07-30T16:17:39.863 回答