2014-04-28 40 views
2

我想知道是否有快速有效的方式来确定从打开应用程序到完全加载时的时间。如何计算iOS应用程序启动时间

  • 我想我会做这样的事情在didFinishLaunchingWithOptions得到一个NSDate对象,并得到另一个在我UIViewController,然后对它们进行比较。
  • 但是,我不确定这是否完全准确。有一个更好的方法吗?

回答

2

这真的不起作用,因为它不处理iOS加载和启动您的应用程序。

您应该做的最好的事情是在main中记录一个时间戳,但是这不包括iOS加载和启动应用程序到调用main这一点的时间。

您所做的任何时机都将从这一点出发,根据您的目标可能仍然有用。

+0

我的目标是分析。该公司即时编写应用程序想要知道应用程序的加载时间 – Katushai

+0

您可以做的最好的事情是从'main'到您的根视图控制器对用户可见。 – rmaddy

+0

@rmaddy您是否对这种iOS开销的多少与应用程序的细节有关?我的意思是,这是与应用程序本身无关的固定成本,还是高度依赖于应用程序的大小,或者介于两者之间? – bdesham

0

保持NSUserDefaults的一个值来计算应用程序的运行时间在你的didFinishLaunchingWithOptions或applicationDidBecomeActive方法:

int i = [[NSUserDefaults standardUserDefaults] integerForKey:@"usageCount"]; 
i = i+1; 
[[NSUserDefaults standardUserDefaults] setInteger:i forKey:@"usageCount"]; 
[[NSUserDefaults standardUserDefaults] synchronize];