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