iOS разработчик, который делится фишками, своим опытом и опытом других.
В этом канале вы сможете найти истории из жизни, подходы к реализации а также новости и тренды из мира iOS-разработки
Авторский канал, iOS разработка
Холодный и тёплый запуск приложения — о чём речь?
Для начала пара слов о том, что такое «активация приложения». Она происходит, когда пользователь нажимает на иконку или иным образом возвращается в ваше приложение.
ℹ️ В iOS активация может быть либо запуском (launch), либо возобновлением (resume).
Launch — начало процесса, а resume — это когда в вашем приложении уже есть активный процесс, даже если он приостановлен.
Resume, как правило, намного быстрее, и работа по оптимизации запуска и возобновления отличается. В macOS система, например, не завершает ваш процесс в рамках обычного использования.
Что же такое холодный и тёплый запуски?
Активация вашего приложения значительно зависит от предыдущих действий на устройстве.
Например, в iOS, если вы свайпаете до хоумскрина и сразу же снова входите в приложение, то получите самую быструю возможную активацию. Вероятнее всего, это будет resume.
Когда система определяет, что нужен запуск, это обычно называют «теплым запуском».
В iOS ваше приложение обычно вытесняется из памяти, чтобы предоставить foreground-приложению больше ресурсов.
Фреймворки также могут потребовать повторного запуска. Этот сценарий или запуск сразу после загрузки часто называют «холодным запуском».
Более корректно размышлять о тёплом и холодном запусках как о спектре.
Многое зависит и от состояния девайса, и именно из-за этого спектра тестирование в различных условиях необходимо для прогнозирования производительности в реальном мире.
📺 Для большего погружения рекомендую это видео с WWDC.
@iOS Dev