Выбор ответа Middle Производительность и утечки памяти обновлено

Ускорение холодного старта

Вопрос

Что в первую очередь проверить, если холодный старт приложения занимает 3 секунды?

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

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

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

Коротко

Правильный ответ: Тяжёлую инициализацию в Application.onCreate: SDK, база, сеть. Холодный старт включает создание процесса, Application.onCreate, создание Activity и первый кадр.

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

  1. Тяжёлую инициализацию в Application.onCreate: SDK, база, сетьправильный ответ
  2. Размер и формат иконки приложения и сплэш-экрана в ресурсах
  3. Количество модулей Gradle и транзитивных зависимостей в модуле :app
  4. Версию Kotlin и включён ли компилятор K2 в проекте

Разбор

Холодный старт включает создание процесса, Application.onCreate, создание Activity и первый кадр. Самая частая проблема это синхронная инициализация десятка SDK, открытие базы и чтение настроек на главном потоке до первого кадра. Лечится ленивой и фоновой инициализацией, App Startup, Baseline Profiles. Иконка, число модулей и версия Kotlin на старт почти не влияют.

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

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