我正在开发一个ipad项目,其UITabBarController(它也是根)有5个标签。
第二个选项卡是一个tableview,其中有非常丰富的UI元素。
问题是每次我启动应用程序并单击第二个选项卡时,我将被阻止0.3秒以显示viewcontroller。但是,在第一次进入此选项卡后,再次进入此选项卡只需0.03。
所以我认为ViewDidLoad
花费太多,因为我在那里做了很多addSubView
或reloadData
。所以我添加
[libraryVC viewDidLoad];
[libraryVC viewWillAppear:YES];
[libraryVC viewDidAppear:YES];
在application:didFinishLaunchingWithOptions
中,我认为如果我在用户进入第二个标签之前执行此视图加载,那么就没有阻止。
然而,在我测试了这种方法之后,我发现成本没有降低。所以我想在第一次显示这个viewcontroller时,可以在视图渲染中使用时间成本。之前渲染了viewcontroller的视图,那么下面的节目将会很快。但我不知道要解决这个问题。
我认为当viewcontroller的视图非常复杂时,这个问题很常见,所以有人知道解决这个问题的方法吗?或者,是否有人可以详细说明阻止发生的原因?
感谢您的帮助!
答案 0 :(得分:0)
也许多线程时间密集的方法/调用是您正在寻找的解决方案。如果您在Google上搜索“ios grand central dispatch”,将会提供一些很棒的资源。 Apple的Grand Central Dispatch参考是他们拥有的更好的文档之一。