【问题标题】:Delay when pushing view controller (iOS)推送视图控制器时延迟(iOS)
【发布时间】: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


【解决方案1】:

在初始化阻塞主线程时有太多布局。仅在 init、viewDidLoad 和 viewWillAppear 方法中布局必要的内容,以及在 viewDidAppear 中执行的任何其他操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多