viewWillAppear和viewDidAppear之间会发生什么?

Ben*_*ard 12 iphone performance cocoa-touch uiviewcontroller ios

我正在优化我的设备上看起来很慢的转换.UIViewControllerUITableView选择一行时,我正在推动另一个.在行选择之​​后和推送新视图之前有明显的暂停.

一些日志记录表明我的所有代码都相当快,从行选择到推送控制器viewWillAppear.但是之间的时间viewWillAppearviewDidAppear记录在0.7秒左右.

过渡本身(我相信)应该只需0.3秒.什么可以解释其余部分?

我正在测试iPhone 4,所以我不期待最快的性能.但我应该能够在同一设备上匹配其他类似应用程序的相同性能,不是吗?

Vad*_*dim 1

转换本身(我相信)应该只需要 0.3 秒。剩下的部分可以用什么来解释呢?

资源消耗通常有以下几种方式:drawRect:, layoutSubviews, viewDidLoad, viewWillAppear:。此外,从 NIB 加载可能需要相当长的时间。

之后viewWillAppear:,iOS 将制作新(可能是当前)视图的快照,以在两个屏幕之间执行平滑的动画。因此,请确保两个控制器视图的绘图和布局代码足够快。