Измерение времени загрузки приложения iPhone - PullRequest
6 голосов
/ 15 июля 2009

Я нахожусь в процессе оптимизации приложения для iPhone для очень короткого времени загрузки, и мне интересно:

Есть ли способ измерения времени загрузки приложения iPhone с момента, когда пользователь нажимает на значок, до времени, когда приложение можно использовать (или, по крайней мере, вызывается -viewDidLoad)?

В идеале это будет работать в устройстве и симуляторе, но если кто-то найдет способ измерить это время исключительно в симуляторе, то это будет хотя бы отправной точкой.

и нет; «секундомер» или «один Миссисипи, два Миссисипи» не в счет. : -)

Ответы [ 3 ]

2 голосов
/ 04 мая 2017

В рамках WWDC 2016 Apple анонсировала новую переменную среды, доступную как часть бета-версии 2, которая поможет вам записать время запуска приложения.

Одна из проблем с ответами, приведенными выше, заключается в том, что они не учитывают время до начала основного времени, когда загружаются изображения и происходят исправления, связанные с перебазированием и привязкой.

Если вы добавите переменную DYLD_PRINT_STATISTICS = 1 вы получите предварительное время, напечатанное на консоли.

Сессия 406 из WWDC 2016 посвящена использованию этой переменной и тому, как интерпретировать результаты.

2 голосов
/ 19 ноября 2010

Запустите таймер в методе init делегата приложения, а затем остановите его, когда viewDidAppear: -

Запустить таймер с: -

NSDate *startTime = [NSDate date];

... и заканчиваются на: -

NSTimeInterval elapsedTime = [startTime timeIntervalSinceNow];
NSLog(@"Startup tasks: %f", -elapsedTime);

Это не начнется с момента нажатия на иконку, но должно начаться довольно рано. Возможно, вы могли бы просмотреть более раннее время в журналах, выставленных в консоли отладчика?

1 голос
/ 21 ноября 2010

Поместите NSLog(@"started loading"); в начало applicationDidFinishLauching и NSLog(@"finished loading"); в viewDidAppear делегата приложения. В консоли отладчика вы получите что-то вроде

2010-11-21 17:16:06.278 Phy[9157:207] started loading
2010-11-21 17:16:06.301 Phy[9157:207] finished loading

Поэтому для запуска приложения симулятору потребовалось 0,03 секунды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...