我想找一个iOS应用程序启动的时间。我尝试在viewDidLoad方法中启动计时器,然后将该计时器停止到ViewDidAppear方法中。但我不确定这会给我启动iOS应用程序所需的确切时间。
答案 0 :(得分:3)
在您项目的AppDelegate上,在application:willFinishLaunchingWithOptions:
上启动计时器并在application:didBecomeActive:
上结束
根据苹果文档:
<强>应用:willFinishLaunchingWithOptions:强>
告诉代表启动过程已经开始,但该状态 恢复尚未发生。
应用程序:didBecomeActive:和application:didFinishLaunchingWithOptions:之间的折腾(imho)。您需要查看apple docs来决定。
使用viewDidLoad和viewDidAppear与视图控制器有关,而与应用程序无关。 (虽然出于实际目的,这些通常与AppDelegate方法密切相关)。
答案 1 :(得分:1)
我说你可以将第一个计时器放在main.m
中,因为它是你应用中的第一个入口点,例如
int main(int argc, char * argv[])
{
@autoreleasepool {
NSLog(@"main %f", [[NSDate date] timeIntervalSince1970]);
return UIApplicationMain(argc, argv, nil, NSStringFromClass([ZTSAppDelegate class]));
}
}
完成取决于您的应用逻辑。有时它是根视图控制器的viewDidLoad
,或者在您登录后执行或执行所有必需的初始化步骤之后可能会稍晚点,以便应用程序真正响应。