Ios 在Ipad上使用pushViewController的时间过长
我有一个恼人的问题 我使用Ios 在Ipad上使用pushViewController的时间过长,ios,objective-c,xcode,ipad,uinavigationcontroller,Ios,Objective C,Xcode,Ipad,Uinavigationcontroller,我有一个恼人的问题 我使用导航控制器切换视图控制器。 在我的iPhone上运行正常,但当我在iPad上测试时,推到第二视图控制器需要花费太多时间(3-4秒) 第一视图控制器 dispatch_async(dispatch_get_main_queue(), ^{ InGame *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"inGame"]; vc.multiplayer = false;
导航控制器
切换视图控制器
。
在我的iPhone
上运行正常,但当我在iPad
上测试时,推到第二视图控制器需要花费太多时间(3-4秒)
第一视图控制器
dispatch_async(dispatch_get_main_queue(), ^{
InGame *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"inGame"];
vc.multiplayer = false;
vc.methodStart = [NSDate date];
[self.navigationController pushViewController:vc animated:true]; });
在第二视图中,控制器viewDidLoad
方法
NSDate *methodFinish2 = [NSDate date];
NSTimeInterval executionTime2 = [methodFinish2 timeIntervalSinceDate:self.methodStart];
NSLog(@"executionTime = %f", executionTime2);
如果它在第二视图中很重要,我有6个按钮、一些小图像和一个17行的表格。每行2个按钮和1个标签
请帮我一点忙
编辑
这是第一次
以下是带有线程的图像
它是每次都发生还是第一次发生?只是第一次,我忘了指定在连接调试器时发生了什么?调用
dispatch\u async(dispatch\u get\u main\u queue)
的事实表明,这比您告诉我们的要多得多。特别是,您可能正在后台线程上执行某些操作,或者您可能正在进行某种联网。我认为这就是额外花费时间的原因在任何情况下,你都可以通过使用仪器来确定发生了什么。@Gaby Fitcal:在调试模式下运行你的应用程序,在需要时间时在iPad上加载第二个VC暂停执行,您将看到主线程上的哪个操作正在阻止它:)让我们知道将告诉您修复它的解决方案:)它是每次都发生还是第一次发生?只有第一次,我忘了指定当您连接调试器时会发生什么?您正在调用dispatch\u async(dispatch\u get\u main\u queue)
表明这方面的内容比您告诉我们的要多得多。特别是,您可能正在后台线程上执行某些操作,或者您可能正在进行某种联网。我认为这就是额外花费时间的原因在任何情况下,你都可以通过使用仪器来确定发生了什么。@Gaby Fitcal:在调试模式下运行你的应用程序,在iPad上加载第二个VC。当需要暂停执行时,你会看到主线程上的哪个动作阻止了它:)让我们知道,我们会告诉你解决方法:)