【发布时间】:2017-10-04 17:38:12
【问题描述】:
我有一个 UIViewController,称之为ViewControllerB,我试图从 ViewControllerA 推送它。 ViewControllerB 拥有大量来自库(日历、分段控件等)的自定义 UI,以及带有 tableViews 的 UIPageViewController。
我注意到当我推送ViewControllerB 时有 1-3 秒的延迟,并且在使用时间分析器时,我能够追踪到由于在 viewDidLoad 中设置这些 UI 而导致的主线程阻塞。因此,在推送视图控制器之前,该应用似乎需要一些时间来设置 UI。
设置大量 UI 但在推送视图控制器时避免阻塞主线程的最佳方法是什么?
【问题讨论】:
-
从 viewDidLoad 和 viewWillAppear 方法中删除所有代码并保留在 viewDidAppear 中。
标签: ios performance