我正在开发一个 ipad 项目,它的 UITabBarController(它也是根)有 5 个选项卡。
第二个选项卡是一个表格视图,其中有非常丰富的 UI 元素。
问题是每次我启动应用程序并单击第二个选项卡时,我都会被阻止 0.3 秒来显示视图控制器。但是,第一次进入这个选项卡后,我只需要 0.03 就可以再次进入这个选项卡。
所以我觉得ViewDidLoad
成本太高了,因为我做的很多addSubView
还是reloadData
有的。所以我添加
[libraryVC viewDidLoad];
[libraryVC viewWillAppear:YES];
[libraryVC viewDidAppear:YES];
在application:didFinishLaunchingWithOptions
,我认为如果我在用户进入第二个选项卡之前执行此视图加载内容,则不会有任何阻塞。
但是在我测试了这种方法之后,我发现成本并没有降低。所以我猜在第一次显示这个视图控制器时可能会在视图渲染中使用时间成本。当viewcontroller的view之前已经渲染过,那么接下来的show会很快。但我不知道如何解决这个问题。
我认为当视图控制器的视图非常复杂时,这个问题很常见,那么有没有人知道解决这个问题的方法?或者有没有人可以详细描述阻塞发生的原因?
谢谢你的帮助!