Как ускорить запуск приложения
Вопрос
Что из перечисленного сильнее всего помогает уменьшить время до первого кадра?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Варианты ответа
- Перенести всю инициализацию в
applicationDidBecomeActive - Включить Debug-сборку, она стартует быстрее без оптимизаций
- Отложить инициализацию SDK, не нужных первому экрануправильный ответ
- Загрузить все данные ленты синхронно в
didFinishLaunching
Разбор
Запуск измеряется до первого отрисованного кадра. Всё, что делается синхронно до него (инициализация аналитики, рекламных SDK, миграции, синхронные запросы), прибавляется к времени. Нужное для первого экрана делают сразу, остальное лениво или после показа. applicationDidBecomeActive тоже вызывается до того, как пользователь начнёт работать, и при каждом возврате. Debug-сборка медленнее. Синхронная загрузка ленты блокирует запуск.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Задача на Swift: худший отрезок кадров скользящим окном
Следующий вопрос
Шаблоны Instruments
Ещё по теме «Производительность и тестирование»
- Тест в Swift Testing
- Hang и hitch: разница
- Пирамида тестов в iOS
- Тестирование сетевого слоя через URLProtocol
- Бюджет кадра на iPhone с ProMotion
- Сколько памяти занимает декодированная картинка
- Приложение пропадает без крэш-лога
- Задача на Swift: статистика рывков по длительностям кадров