Почему нужно отказаться от привычки закрывать приложения на смартфонах с Android

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com

Операционная система Android постепенно становится всё более требовательной к ресурсам смартфонов, таким как оперативная память (ОЗУ) и встроенное хранилище (ПЗУ). Поэтому долгое время привычным методом борьбы с низкой производительностью на устройствах с Android было закрытие всех открытых приложений.

Суть такого подхода довольно простая: закрытие приложений освобождает ресурсы телефона и позволяет другим приложениям работать быстрее. Однако этот подход устарел, и на относительно свежих устройствах вам практически не нужно вручную закрывать приложения. На самом деле, закрытие приложений на вашем Android-устройстве может в некоторых случаях замедлить его работу, а не наоборот.

Одной из особенностей ОС Android является сокращение ресурсов, потребляемых фоновыми процессами и приложениями, когда они свернуты и не используются. Примечательно, что это далеко не новая функция: впервые она появилась в Android 6.0 Marshmallow, которому в октябре исполнится 7 лет.

Распространенные мифы о закрытии приложений на Android

Существует ряд общепринятых мнений о пользе закрытия приложений даже не только на смартфонах с Android, но и на устройствах с iOS, однако в основном это мифы. К примеру, распространена точка зрения, что закрытие приложений помогает экономить заряд батареи. На самом деле, Google предприняла серьезные шаги для оптимизации использования батареи, а потому закрытие фоновых приложений редко позволяет продлить время работы гаджета от аккумулятора.

Кроме того, принудительное закрытие одних приложений не заставит другие (которые вы активно используете в данный момент) работать быстрее или лучше. На самом деле, частое закрытие приложений вынуждает смартфон работать интенсивнее.

Ещё один миф заключается в том, что фоновые приложения часто обращаются к сети, попусту расходуя мобильный трафик. В реальности лишь некоторые приложения могут использовать трафик даже тогда, когда свернуты. И пользователи могут при необходимости отключать фоновое использование мобильного трафика в настройках. При этом надо понимать, что уведомления от этих приложений не будут приходить, пока пользователь снова не откроет соответствующее приложение.

Android самостоятельно справляется с менеджментом ресурсов

В октябре 2015 года Google добавила функцию под названием Doze в вышедший тогда Android 6.0 Marshmallow. Она предназначена для перевода приложений и внутренних служб в спящий режим, когда они не используются. Всё это происходит автоматически, так что пользователям не нужно закрывать приложения вручную. Из официальной документации следует, что Doze экономит заряд батареи, ограничивая доступ приложений к сети и службам, интенсивно нагружающим ЦП.

Как и следовало ожидать, примитивная версия Doze в Android 6.0 была слишком агрессивной и часто мешала важным функциям и службам, таким как будильники. Что касается устройств с «чистым» Android, то с годами ситуация значительно улучшилась, в остальных случаях интенсивность работы Doze зависит от производителя устройства и конкретной оболочки Android.

По данным общественного проекта Don't Kill My App, такие производители как Samsung, OnePlus, Huawei и Xiaomi настраивают свои оболочки наиболее (и избыточно) агрессивно по отношению к фоновым процессам. C помощью приложения DontKillMyApp можно и самостоятельно проверить, насколько активно версия Android на вашем смартфоне выгружает из памяти неактивные процессы.

Android похож на автомобиль в морозный день

Когда вы закрываете приложение с намерением освободить оперативную память, это же приложение потребует больше ресурсов при следующем запуске. Это означает, что следующий запуск будет менее быстрым, что негативно влияет на пользовательский опыт.

На веб-странице для Android-разработчиков, посвященной запуску приложений, это явление объясняется тремя терминами: «холодный запуск», «теплый запуск» и «горячий запуск». Холодный старт — это состояние, когда ранее закрытое приложение запускается с нуля. Как отмечает Google, холодный запуск требует больше времени и ресурсов, потому что приходится иметь дело с большим количеством процессов.

Теплый запуск означает, что приложение уже находится в памяти телефона, т. е. вы можете получить к нему доступ из меню многозадачности, и Android-устройство должно пройти существенно меньшее число процессов по ​​сравнению с холодным стартом. Наконец, горячий запуск означает, что пользователь просто выводит недавно использованное приложение на передний план. Последний вариант затрачивает минимум ресурсов и времени.

Более простой способ понять это — сравнить ситуацию с автомобилем в морозный день. Завести автомобиль при минусовой температуре не всегда легко. Однако, если вы некоторое время ехали на автомобиле и остановились только для того, чтобы быстро выпить кофе, то запуск двигателя не составит проблем. И наконец, если вы заглохли во время движения, слишком резко отпустив сцепление, то завести двигатель будет максимально легко.