在提高我的应用程序的性能时,我试图减少 UIViewController 加载和显示所需的时间。我已经标记了我的每个方法以记录每个方法加载所需的时间(这是在旧 iPhone 4 上完成的,以夸大时间)。
2013-07-03 15:50:32.546 MyApp[3047:907] init begin
2013-07-03 15:50:32.590 MyApp[3047:907] init end
2013-07-03 15:50:33.085 MyApp[3047:907] viewDidLoad begin
2013-07-03 15:50:33.194 MyApp[3047:907] viewDidLoad end
如您所见,init 结束和 viewDidLoad 开始之间大约有 0.5 秒。据我了解,这是 loadView 发生的地方,但我并没有真正触及它。
我的问题是:这里减少加载时间的最佳做法是什么?有什么我能够以编程方式做的,还是严格限制设备?
编辑:
一些代码:
MyViewController *myViewController = [[MyViewController alloc] init];
UINavigationController *myNavController = [[UINavigationController alloc] initWithRootViewController:myViewController];
myNavController.navigationBar.barStyle = UIBarStyleBlack;
[myNavController setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[self presentViewController:myNavController animated:YES completion:nil];
更多时间日志:
2013-07-03 21:07:26.813 MyApp[3612:907] begin presentViewController:animated:completion
2013-07-03 21:07:27.292 MyApp[3612:907] begin viewDidLoad
2013-07-03 21:07:27.401 MyApp[3612:907] finish viewDidLoad
2013-07-03 21:07:27.444 MyApp[3612:907] finish presentViewController:animated:completion
2013-07-03 21:07:27.508 MyApp[3612:907] begin loading tableView
2013-07-03 21:07:27.760 MyApp[3612:907] finish loading tableView
2013-07-03 21:07:28.513 MyApp[3612:907] viewDidAppear
我的视图控制器是从 NIB 加载的,包含一个 tableView 和一个 UIDatePicker。begin presentViewController:animated:completion 和 begin viewDidLoad 之间似乎有 0.5 秒的间隔。由于我这里没有任何代码,我不知道在哪里/如何减少这个时间,或者是否有可能。