为什么设置窗口的RVC大约需要4秒钟?

时间:2013-01-07 22:36:35

标签: ios

我在我的didFinishLaunchingWithOptions:方法的XCode中交互式地执行代码,并注意到它在此伪代码的最后一行暂停了大约4秒:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

  ...
 create and initialize model
 ...
create UIViewController
create navController with view controller

self.window.rootViewController = navController;

其中navController的名称暗示为UINavigationController。

为什么在单步使用Xcode时暂停此特定行?

我正在使用didFinishLaunchingWithOptions初始化我的模型:当模型在创建时扫描相当多的数据对象(扫描文件,读取它们和创建对象,因此可能不会巧合地测试行为)当有很多文件时会很慢)。目前,模型初始化是同步的,我看到确定它是否应该变为异步需要多长时间,而且当我注意到这种行为时。

如果它是需要时间构建的模型,这就是我在IDE中看到延迟的原因那么为什么在设置rootViewController时会出现这种延迟,而不是在构建模型时?

澄清我的问题:

  • 我不是在问为什么我的代码慢了

  • 我不是在问如何追踪慢速代码的位置

  • 我要问的是,仅仅因为我很好奇,这就是为什么如果我的模型初始化速度很慢,那么当交互式地通过调试器中的代码转移到窗口的RVC时,它就会显示出来。

    < / LI>

1 个答案:

答案 0 :(得分:0)

尝试Instruments来追踪这类问题。