Nib文件加载极慢

5

大家好!

我在加载Nib文件时遇到了非常奇怪的性能问题。以下是TimeProfiler的屏幕截图:

enter image description here

总体来说,有时候要加载一个只有两个Nib的简单viewController需要超过1200毫秒的时间。Nib非常简单,以下是一个示例。正如您从上面的屏幕截图中看到的那样,需要311毫秒才能加载:

enter image description here

我用来加载Nib的代码:

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"
}

我不知道这是否会造成问题,但这个应用程序使用了App Groups(用于WatchExtension)。正如你所看到的,我从mainBundle调用了所有的nibs,因为它们都在主目标中。这可能是原因吗?

谢谢!

1个回答

12

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


天啊,我也遇到了完全相同的问题。花了很长时间才找到解决方法。感谢您发布您的解决方案。 - Chip Snyder
感谢您的分享。 - Christos Chadjikyriacou

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接