Выбор ответа Middle Производительность и тестирование обновлено

Как ускорить запуск приложения

Вопрос

Что из перечисленного сильнее всего помогает уменьшить время до первого кадра?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Отложить инициализацию SDK, не нужных первому экрану. Запуск измеряется до первого отрисованного кадра.

Варианты ответа

  1. Перенести всю инициализацию в applicationDidBecomeActive
  2. Включить Debug-сборку, она стартует быстрее без оптимизаций
  3. Отложить инициализацию SDK, не нужных первому экрануправильный ответ
  4. Загрузить все данные ленты синхронно в didFinishLaunching

Разбор

Запуск измеряется до первого отрисованного кадра. Всё, что делается синхронно до него (инициализация аналитики, рекламных SDK, миграции, синхронные запросы), прибавляется к времени. Нужное для первого экрана делают сразу, остальное лениво или после показа. applicationDidBecomeActive тоже вызывается до того, как пользователь начнёт работать, и при каждом возврате. Debug-сборка медленнее. Синхронная загрузка ленты блокирует запуск.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.