Пока бренды не займутся вопросом радикального увеличения активного времени работы смартфонов, рядовые владельцы гаджетов будут проявлять интерес к разного рода народным советам. Один из них гласит, что прекратив использование приложения его надо еще и непременно выгрузить из памяти iOS. Именно об этом мы и поговорим.
Видео:
Содержание статьи
Ошибочное мнение
Закончив работу с приложением, мы используем соответствующий жест на iPhone с Face ID или тапаем дважды по кнопке Домой, сворачивая окошко программы. Однако она все еще продолжает висеть в памяти, запускает процессы и наглым образом потребляет ресурсы системы. С целью экономии последних и рекомендуется вручную убрать «иждивенца» и закрываем – по нашей команде iOS принудительно выгрузит из оперативной памяти все пакеты данных, связанные с данным ПО. Нагрузка на систему снизится, а количество потребляемой ею энергии пропорционально уменьшится. Логично, не так ли? Только отчасти неверно.
Алгоритм работы многозадачности iOS
Лектор и педагог Фрейзер Спирс (Fraser Speirs) предлагает следующее объяснение из категории «для чайников» (это подтверждено Apple официально). Любое приложение в яблочной мобильной ОС в конкретный момент времени пребывает в одном из пяти состояний.
- Не работает. Период между полным отключением программы и до следующего запуска, во время которого система никак с ней не взаимодействует. Расхода заряда батареи, естественно, нет.
- Запущено, но неактивно. Имеет место при блокировке экрана без сворачивания текущего окна. Софт занимает энный объем ОЗУ, однако процессор не активен и энергия на его эксплуатацию не тратится.
- Активно. Полноценная работа с приложением, во время которой наблюдается максимальное использование системных ресурсов.
- Фоновый режим. Окошко закрывается, однако ряд служб продолжает работу, например, поиск и закачку обновлений. Нагрузка на гаджет полноценная, однако iOS ставит таким процессам минимальный приоритет, перераспределяя ресурсы в пользу приложений, который активны.
- Закрытое. Обмен данными между программой и системой прекращен, однако сама она остается в оперативной памяти. На это не тратится сколько-нибудь значимого объема энергии, iOS просто делает «закладку», что позволяет значительно ускорить загрузку приложения при повторном обращении к нему через панель многозадачности.
Закончив работу с программой, применяем соответствующий жест на iPhone с Face ID или нажимаем кнопку Домой – из «Активного состояния» она тут же перемещается в «Фоновый режим».
При наличии действующих служб она повисит так, пока они не закончат выполнять свои задачи, после чего последует принудительный переход в «Закрытое состояние». Он произойдет в любом случае – iOS выжидает несколько секунд и если нет фоновой активности, автоматически выполняет данную процедуру.
Теперь наше приложение не создает нагрузку на систему, но все еще занимает мегабайты ОЗУ. Когда они становятся востребованы, например, при запуске чего-то тяжеловесного, iOS самостоятельно очистит требуемый объем памяти. А программу переведет в состояние «Не работает», чем полностью исключит использование ею системных ресурсов, включая и драгоценную электроэнергию.
Что происходит при закрытии приложения?
Визуально «Фоновый режим» от состояния «Закрыто» никак не отличить — для этого потребуются специальные утилиты, детально анализирующие активность в iOS. Однако миниатюра открытого приложения продолжает висеть в меню многозадачности, сбивая пользователя с толку. С его субъективной точки зрения приложение все еще работает, читай, потребляет системные ресурсы. Это требуется пресечь – человек упирает палец в экран, тем самым вынуждая iOS отреагировать.
Для приложения, которое давно значится «Закрытым» и фактически не взаимодействует с процессором, запускается отдельный сеанс принудительной выгрузки из памяти. Длится он всего ничего, но это нагрузка на систему, влекущая за собой расход энного количества ресурсов. На мгновение замедлится работа иных программ, аккумулятор расстанется с толикой заряда, а когда пользователь захочет снова запустить это же приложение, все повторится опять – данных-то в памяти уже нет, их нужно подгрузить.
В итоге получается, что ручная выгрузка приложений позволяет высвободить занимаемую ими память, но провоцирует дополнительный расход заряда батареи. То есть, получаем эффект, полностью противоположный ожидаемому. Если речь идет о востребованном софте, то комбинация из постоянных «запуск + параноидальное закрытие» провоцирует совершенно бессмысленный перерасход ценного ресурса без какой-либо ощутимой пользы. Именно так – iOS автоматически перераспределяет память по оптимальной схеме, не перегружая процессор, но для взаимодействия с пользователем обязана активировать не в пример более громоздкий и прожорливый оконный интерфейс. Один вывод изображения меню на экран с подсветкой чего стоит.
Как вычислять и бороться с энергозатратными приложениями?
Формально в «Фоновом режиме» приложение обязано пребывать недолго, однако определенные категории софта злоупотребляют своими полномочиями. Отчасти из-за халатности разработчиков, но чаще так сделано сознательно. Например, приложение Почта, настроенное на моментальные Push-уведомления, никогда не переключается в «Закрытое состояние». То же самое можно сказать об используемом в фоне навигаторе или музыкальном стриминговом сервисе. Некоторый софт обожает без всякого спроса мониторить материнские сайты в поисках обновлений, а каждый пустопорожний сеанс связи приводит к активации ряда модулей устройства и тратам энергии.
Для того чтобы пресечь это безобразие, в iOS и был введен механизм ограничения на эксплуатацию системы приложениями в фоновом режиме. Его можно активировать по пути приложение «Настройки» → «Основные» → «Обновление контента».
Здесь вы можете полностью отключить фоновое обновление для всех приложений или выбрать только те, которые вам нужны.
Кроме того, вы можете проверить, какое из установленных приложений на вашем устройстве негативно сказывается на времени его автономной работы. Эта информация доступна в разделе «Аккумулятор» приложения «Настройки». Там во вкладке «Аккумулятор в приложениях» вы также увидите, какие приложения работают в фоне, и при желании сможете отключить их по инструкции выше.
В этом отношении iOS всецело зависит от грамотного пользователя – время от времени проверяйте используемый софт и определяйте, какому приложению давать зеленый свет, а какому красный. Ну и конечно же, не забудьте правильно настроить уведомления, а также удалить ненужные приложения.
🔥 Смотрите также:
- Как включить встроенный всплывающий Шазам на iPhone без установки самого приложения.
- Как научить iPhone проговаривать имя того, кто вам звонит.
- Действительно ли зарядка до 80% помогает сохранить батарею iPhone?