Разница между «холодным» и «теплым» стартом в Android

Согласно официальной документации Android: «Холодный запуск» — в случаях, когда ваше приложение запускается впервые с момента загрузки устройства или после того, как система уничтожила приложение.

Теплый запуск. Система удаляет ваше приложение из памяти, а затем пользователь повторно запускает его.

Рассмотрим следующий сценарий:

Приложение А запущено -> Нажмите кнопку «Домой» (приложение переходит в фоновый режим) -> Теперь работайте с другими приложениями -> Система обнаруживает нехватку памяти и убивает приложение А, чтобы освободить часть памяти -> Теперь перезапустите приложение А (из недавних приложений или значка запуска) )

Это теплый старт или холодный? В соответствии с документацией по холодному запуску — это выглядит как холодный запуск, поскольку приложение запускается в первый раз после того, как система была убита (в фоновом режиме).

Согласно документации «Теплый старт» — это выглядит как «горячий старт», потому что он перезапускается после удаления из памяти.

Что здесь на самом деле верно? Чего здесь не хватает?


person Vishu Gupta    schedule 27.11.2020    source источник


Ответы (1)


Примером холодного запуска является первый запуск приложения после загрузки устройства. Это также может произойти, когда вы очищаете меню последних приложений. Все будет загружено с нуля, а объект Bundle, возвращенный из метода onCreate в вашей активности запуска, будет нулевым.

Система, убивающая ваше приложение для освобождения памяти, также называется смертью процесса. Прежде чем это произойдет, вызывается onSaveInstanceState, где система предоставляет пакет, в котором пользователь может сохранять данные восстановления состояния. Этот пакет становится доступным в onCreate при повторном запуске приложения. Приложение по-прежнему будет находиться в меню недавних приложений, и если состояние сохраняется и восстанавливается должным образом, у пользователя должна возникнуть иллюзия горячего запуска при повторном запуске приложения.

person Rafsanjani    schedule 27.11.2020
comment
Судя по ответу, вы предполагаете, что описанная выше ситуация - это теплый старт. Отредактировали вопрос, чтобы более четко изложить его и причину сомнения. - person Vishu Gupta; 28.11.2020