从故事板加载视图控制器需要太长时间

10

在我的应用程序中,我有5个视图控制器。其中有4个web服务调用。当从第四个控制器到第五个控制器时,没有Web服务,但仍需要很长时间才能加载。

可能的原因是什么?

我的观察:

  1. 视图控制器在viewDidLoad中出现得很晚。
  2. 故事板可能有问题。
  3. 一旦我从某些标签中删除自定义字体,它就可以正常工作。

可能的原因是您在第4个视图控制器上调用了Web服务,其中数据正在同步加载,当您移动到第5个视图控制器时,由于其他视图控制器中的数据未加载,所以需要时间。您可以检查一下这个问题。 - ChenSmile
1
也许你可以使用工具->时间分析器来找到热点。 - Mert Buran
@Imran 我没有调用任何 Web 服务...一旦我从某些标签中删除自定义字体,它就可以正常工作了。 - Samkit Jain
1
有相同的问题 - Karan Alangat
2个回答

12
在我的情况下,控件所分配的字体有误。
ProximaNovaSoft-Semibold字体分配给了控件,但实际不存在该字体。真实的字体是Proxima Nova Semibold
因为ProximaNovaSoft-Semibold不存在,系统需要花费时间搜索该字体,从而导致延迟。
我纠正了部分控件的字体后,界面加载速度很快。

2

您可以检查一些潜在的情况:

  1. 在VC4中,您是否在viewWillDisappearviewDidDisappear中执行某些操作?

  2. 确保在VC4中异步加载数据?

  3. 在VC5的viewWillAppear中是否执行了一些繁琐的操作?

  4. 如果从VC1/2/3转到VC5,是否仍然需要很长时间?


谢谢回答伙计...1. viewWillDisappear或viewDidDisappear中没有任何动作 2. VC4中没有同步数据 3. viewWillAppear中什么都没有..一旦我从某些标签中移除自定义字体,它就能正常工作 - Samkit Jain
然后,我相信加载和应用自定义字体会导致延迟。 - swapnilagarwal
我找到了解决方案......字体命名存在问题...感谢您的回答。 - Samkit Jain

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