Nib 文件加载速度极慢

Posted

技术标签:

【中文标题】Nib 文件加载速度极慢【英文标题】:Nib files loading extremly slow 【发布时间】:2015-07-19 22:01:36 【问题描述】:

朋友们好!

我在加载 Nib 文件时有非常奇怪的性能结果。这是 TimeProfiler 的屏幕:

总体而言,加载具有 2 个 nib 的简单 viewController 有时需要超过 1200 毫秒。笔尖非常简单。这是一个例子。从上面的截图可以看出,加载需要 311 毫秒:

我用来加载笔尖的代码:

required init(coder aDecoder: NSCoder) 
    super.init(coder: aDecoder)
    setupXib()


func setupXib() 
    NSBundle.mainBundle().loadNibNamed("TimeSaver", owner: self, options: nil)
    bounds = view.bounds
    addSubview(view)
    setup()


func setup() 
    slider.maximumValue = 30.0
    slider.minimumValue = 1.0
    slider.value = 5.0
    timeLabel.text = "\(sliderValue.format(format)) min"

我不知道这是否会导致问题,但这个应用程序使用应用程序组(用于 WatchExtension)。如您所见,我从 mainBundle 中调用 nib,因为它们都在主要目标中。可能是这个原因吗?

谢谢!

【问题讨论】:

【参考方案1】:

所以问题根本不在 nib 文件中。 这是关于未正确安装的自定义字体。它在 Storyboard 的列表中,但它不是正确目标的成员。因此,该应用程序到处寻找该死的字体——这就是性能问题。

【讨论】:

天啊,我遇到了同样的问题。花了很长时间试图追踪它。感谢您发布您的解决方案 谢谢楼主分享。

以上是关于Nib 文件加载速度极慢的主要内容,如果未能解决你的问题,请参考以下文章

快速加载 nib 文件

改善极慢 Codeigniter 网站的方法

加载不同的 Nib 文件

使用 UIViewController 加载 nib 文件

从框架加载 nib 文件

手动加载 nib 文件时未调用 init 或 initWithNibName