2014-04-28 82 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];