Фоновые процессы в Android: что это, как отключить
Все хотят, чтобы их смартфоны работали быстро, стабильно, без задержек и сбоев. А еще лучше, если они будут держать высокий заряд батареи как можно дольше. Один из способов снять лишнюю нагрузку с телефона и увеличить автономность – отключить фоновые процессы. Что это такое и как их выключить, узнаете прямо сейчас.
Что такое фоновые процессы
Некоторые приложения на вашем смартфоне работают в «фоне», то есть даже тогда, когда они закрыты. Это и есть фоновые процессы. Они происходят без вашего участия, а иногда и без вашего ведома. Даже если приложение на первый взгляд закрыто, оно может работать, потребляя оперативную память устройства и заряд аккумулятора.
Для чего приложения работают в фоновом режиме? По многим причинам. Одни определяют ваше местоположение, другим нужен постоянный доступ к интернету для получения уведомлений, третьи просто синхронизируются с серверами, отмечая вашу активность.
Фоновые процессыНекоторые из фоновых процессов действительно необходимы. Они позволяют облегчить ваше использование телефона, дают вам дополнительную информацию и так далее. Но большая часть из них просто замедляет работу устройства, тратя заряд аккумулятора в никуда и забирая львиную долю системных ресурсов. От таких процессов можно и нужно избавляться.
Как найти фоновые процессы
Для того, чтобы увидеть все приложения, работающие в фоне (в том числе и системные), необходимо включить режим разработчика. Делается это достаточно просто:
- Откройте настройки и перейдите в раздел «О телефоне».
- Найдите номер версии прошивки и нажимайте на него несколько раз подряд, пока не увидите уведомление о том, что режим разработчика включен.
После этого в том же разделе настроек появится новая вкладка с информацией для разработчиков. Здесь вы сможете найти полную статистику процессов, работающих на телефоне в данный момент. Там показана вся информация о том, как приложения потребляют память, заряд батареи и другие ресурсы системы. Чтобы узнать подробнее о той или иной программе, нажмите на нее и перемещайтесь по разным вкладкам.
Какие процессы можно отключать
Большей части обычных пользователей не нужны многие системные утилиты, работающие в фоне. Например, игры, отправляющие уведомления о различных событиях, или приложения, показывающие рекламу и новые акции. Примеров таких программ может быть множество, и каждого пользователя они будут свои. Если вам не нужны фоновые уведомления от конкретных приложений, можете смело отключать их.
Фоновые приложения на АндроидОтключать системные утилиты не стоит, но Android и не позволит вам этого сделать. Если программа нужна для нормальной работоспособности системы, то выключить ее вы не сможете. Также обратите внимание на социальные сети и мессенджеры – если отключить их от фона, вы перестанете получать оповещения о новых сообщениях. Также не рекомендуется отключать приложения и сервисы Google, которые должны постоянно получать обновления, чтобы поддерживать работу всей системы.
Как отключить фоновые процессы
Если вы активировали режим разработчика, то Android позволит вам вносить более значимые изменения в свою работу. В числе функций, которые вам станут доступны, находится и отключение фоновых процессов. Делается это следующим образом:
- Войдите в настройки и перейдите в раздел «О телефоне».
- Откройте вкладку для разработчиков и найдите статистику всех процессов.
- Здесь нажимайте на нужные приложения, а затем жмите по кнопке «Остановить».
После проведения этих нехитрых манипуляций вы увеличите время автономной работы своего смартфона, повысите производительность и освободите значительное количество оперативной памяти.
Как убить надоедливые фоновые приложения на Android
Пока телефон новый он отлично работает, но со временем он начинает тормозить. Переключение между приложениями становится дольше по времени, и батарея не держит и дня.
Если это звучит знакомо, есть несколько вещей, которые вы можете сделать, чтобы вернуть себе контроль над своим смартфоном и улучшить ситуацию, и одна из самых простых вещей, которую можно сделать, это получить контроль над приложениями, работающими в фоновом режиме.
Контролируйте фоновые процессы
Лучший способ получить контроль над фоновыми процессами — это покопаться под капотом с помощью инструментов мониторинга, встроенных в Android.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
Как выглядит этот процесс, как вы получаете к нему доступ и как он называется, зависит от того, какая компания создала устройство и какую версию Android вы используете.
В некоторых случаях, прежде чем вы сможете начать, вам нужно включить параметры разработчика .
- В большинстве версий Android для этого нужно перейти в «Настройки»> «О телефоне», а затем нажать «Номер сборки» около семи раз. Вы получите уведомление о том, что параметры разработчика были разблокированы.
- Следующая вещь, которую вам нужно найти, это настройка, которая называется « Процессы», «Статистика процесса» или « Запуск служб» .
Вы можете найти это в Настройках> Параметры разработчика> Процессы или Настройки> Параметры разработчика> Запущенные сервисы . Эта опция приводит вас к списку запущенных процессов, показывающих, сколько ОЗУ использует каждый.
- Очевидно, будет заманчиво помешать большинству приложений, требующих оперативной памяти, работать в фоновом режиме, но вы должны уделить некоторое внимание тому, что вы останавливаете. Остановка некоторых приложений может привести к поломке телефона.
- Вы также можете выбрать параметр настроек в меню «Службы / Процессы», чтобы переключаться между запущенными процессами и кэшированными процессами.
Некоторые телефоны, такие как Meizu M3 Max, с который мы тестировали, не позволят вам получить доступ к опциям разработчика, нажав номер сборки. Лучшее, что можно сделать в этом случае, — это ввести модель телефона в Google и добавить слова «разблокировать опции разработчика».
В случае с Meizu это включалось вводом ## 6961 ## на номеронабирателе, а затем просмотр Настройки> Специальные возможности> Параметры разработчика> Статистика процесса.
Я не знаю, какие приложения остановить
ХОРОШО. Если вы не хотите, чтобы ваше приложение / телефон зависало, соблюдайте осторожность и используйте здравый смысл. Приложение с пометкой « Службы Google» или почти любое приложение, которое начинается с «Google», не следует останавливать вручную .
С другой стороны, если вы просматриваете список и видите, что мессенджеры и музыкальные плееры в фоновом режиме разряжают вашу батарею, то вы можете остановить их. Действительно важные приложения, как правило, не позволят вам остановить их.
- Чтобы вручную остановить приложение через список процессов, перейдите в «Настройки»> «Параметры разработчика»> «Процессы» (или « Запуск служб» ) и нажмите кнопку «Стоп» .
Вуаля!
- Для остановки или удаления приложения вручную с помощью списка приложений, перейдите в Настройки> Приложения> Диспетчер приложений и выберите приложение, которое вы хотите изменить. Не удаляйте приложения, которые появляются, когда вы выбираете опцию «Показать системные приложения» .
ТВ некоторых случаях вы можете обнаружить, что служба запускается снова автоматически.
Если вы нажмете опцию Дополнительно / Настройки (в зависимости от модели вашего телефона), вы также можете просмотреть оперативную память, используемую кэшированными процессами. Те же правила, к безопасной остановки приложений, применяются к кэшированным, а также к запущенным процессам.
Теперь пришло время поближе взглянуть на то, что разряжает вашу батарею
Во время выполнения описанных выше шагов, вы, вероятно, видели подробную информацию об аккумуляторе для каждого приложения. Хотя это замечательно, работа над тем, что расходует заряд батареи, оценивая каждое приложение в отдельности, займет у вас целый день.
Вместо этого вам следует перейти в « Настройки»> «Аккумулятор» и посмотреть, какие параметры доступны на вашем телефоне. Опять же, параметры могут иметь несколько разные имена и доступные функции, но, как минимум, вы сможете увидеть список приложений, которые использовали больше всего батареи с момента вашей последней работы. Затем вы можете решить, какие из них вы хотите остановить индивидуально.
Те же правила применяются к остановке или удалению приложений, которые применялись для их остановки на вкладке процессов. Некоторые телефоны разделяют приложения на вкладке «Использование батареи» по системным или несистемным признакам, а другие разделяют их на список «аппаратных» и «программных» приложений.
Теоретически, поскольку каждая новая версия Android добавляет более умные функции батареи, количество приложений для проверки в вручную, должно уменьшиться.
В Android Marshmallow самым значительным улучшением стала Doze, которая по сути переводит ваш телефон в режим гибернации, когда он не используется.
Android Oreo налагает ограничения на фоновое выполнение, чтобы приложения не запускали много фоновых сервисов.
Samsung (и другие) во многих случаях предлагают фирменные опции для увеличения заряда батареи и ОЗУ, поэтому доступные вам функции могут отличаться. Другие люди предполагают, что режим Doze на самом деле уменьшил время автономной работы, но определенно это стоит проверить.
Вы можете вручную убивать приложения через это меню или использовать доступные вам функции энергосбережения.Приложения убийцы процессов и оптимизаторы оперативной памяти
Со временем, когда Android (как ОС) и OEM-оборудование улучшаются, некоторые утверждают, что использование приложений-убийц принесет больше вреда, чем пользы с точки зрения обработки и продолжительности работы от батареи.
Убийца задач, который многократно принудительно закрывает приложение в фоновом режиме, почти наверняка разряжает батарею,
продолжая процесс «перезапуска и уничтожения».
Greenify
Price: Free
Нерутированные устройства не получат автоматический переход в спящий режим приложений и некоторые другие функции, но вы все равно можете добавить виджет на домашний экран, который позволит вам переводить их в спящий режим одним щелчком мыши. Он также имеет несколько опций, расширяющих Doze для устройств Marshmallow, которым не требуется root-доступ.
Как вы думаете, убийцы задач, очистители и оптимизаторы ОЗУ помогают или вредят вашей батареи? Дайте нам знать в комментариях ниже!
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
Google заявляет, что пытается решить проблемы с фоновыми приложениями Android
Давняя ошибка Android, по-видимому, по-прежнему остается приоритетной задачей
У Android уже давно были проблемы с управлением приложениями, работающими в фоновом режиме. В то время как Google предлагает рекомендации о том, как устройства под управлением Android должны обрабатывать фоновые процессы, производители по-прежнему берут на себя настройку систем Android во имя эффективности батареи, часто нарушая при этом предполагаемое поведение приложений. На Google I/O на прошлой неделе Google дал понять, что все еще работает над этим, подчеркнув текущие усилия по решению проблемы с разных сторон.
В своем выступлении о передовых методах работы в фоновом режиме инженер-программист Android Frameworks Цзин Цзи рассказал о трудностях, с которыми Google столкнулась при привлечении производителей, которые хотят оптимизировать время автономной работы способами, для которых Android не предназначена. «Чтобы добиться этого, — сказал Цзи, — мы видели, как производители устройств вводят различные ограничения приложений, и они часто недокументированы. Это может затруднить работу разработчиков приложений, чья служба переднего плана, например, может работать должным образом на устройстве одного производителя.
Он объясняет, что Google работает напрямую с производителями, чтобы обеспечить согласованность ограничений фоновых приложений и пытается встроить в Android стандартизированные функции управления батареей на уровне системы, что сделает ненужной дальнейшую оптимизацию OEM-производителями. С этой целью в Android 13 будет несколько изменений: в него будет добавлена возможность отслеживать расход заряда батареи для каждого приложения с большей степенью детализации, позволяя пользователям видеть, сколько сока использует данное приложение, когда оно находится на переднем плане, в фоновом режиме, или запустить службу переднего плана (она даже сообщит вам, когда приложение тратит заряд батареи в фоновом режиме).
API JobScheduler, призванный помочь, э-э, эффективно планировать задания, получает обновления в Android 13, которые, по словам Google, должны помочь планировать выполнение заданий, когда это наиболее полезно для пользователя. Например, система будет оценивать, когда вы, скорее всего, откроете данное приложение, чтобы более эффективно планировать задания предварительной выборки этого приложения — в идеале это должно выполняться в фоновом режиме, непосредственно перед его запуском. JobScheduler также лучше понимает, какие задания следует останавливать, когда системные ресурсы заканчиваются или когда устройство начинает нагреваться, теоретически выбирая те, которые меньше всего повлияют на работу пользователя.
В то же время Google подчеркивает, что разработчики должны создавать приложения максимально эффективно, чтобы внести свой вклад, уравновешивая производительность своих приложений с общим состоянием системы.
Подход Google к решению проблем с фоновыми приложениями Android исторически был довольно невмешательным; хотя компания могла бы ввести более строгие правила для сторонних производителей устройств под страхом потери сертификации GMS, она еще не сделала этого. Неясно, что эта последняя волна обновленных руководств и функций будет иметь заметное значение, но постоянное признание Google того напряжения, которое ситуация создает для разработчиков, может быть только хорошим знаком.
Подписывайтесь на нашу новостную рассылку
Похожие темы
- Новости
- Google I/O
- фоновые приложения
Об авторе
Тейлор был телефонным ботаником-любителем большую часть десятилетия, прежде чем присоединиться к Android Police в 2018 году, где с тех пор он написал более тысячи статей обо всем, что связано с Android. Тейлор работает редактором гаджетов, и вы увидите его авторство в редакционных статьях, обзорах, сравнительных руководствах для покупателей и технических пояснениях, а также время от времени в экстренных новостях.
Фоновая обработка Android — руководство по принятию решений — Chariot Solutions
Если вы когда-либо делали в Android что-либо, на обработку которого уходит более 16 миллисекунд, то вы, вероятно, слышали о службах Android и фоновой обработке в целом.
Почему 16 миллисекунд?
При частоте обновления Android 60 кадров в секунду основной поток не может быть задержан более чем на 16 миллисекунд, чтобы избежать пропуска кадров и, следовательно, задержки пользовательского интерфейса.
Проблема в том, что Google постоянно меняет способ запуска фоновых процессов. В основном это делается для повышения производительности и борьбы со злоумышленниками.
Это руководство содержит рекомендации по состоянию на январь 2021 г.
Будьте осторожны.
Ваша фоновая задача попадет в одну из категорий фоновых задач:
1. Немедленная
2. Точная
3. Отложенная
Чтобы разобраться в вашем конкретном случае, следуйте схеме ниже:
Для немедленных задач которые не нужно запускать, когда пользователь закрывает приложение, лучше всего использовать сопрограммы Kotlin. Если вам не нравятся мощь и простота сопрограмм Kotlin, вам следует переосмыслить свою жизнь и прочитать о пулах потоков и исполнителях здесь: https://developer.android.com/guide/background/threading
Для точных задач вам нужно использовать AlarmManager и ознакомиться с этим: https://developer.android.com/training/scheduling/alarms
Наиболее интересным случаем являются отложенные задачи или длительные немедленные задачи. Это самый сочный и увлекательный вид обработки фона. Вот доступные вам механизмы:
1.
Фоновые службы . Это компоненты приложения, но они становятся бесполезными и будут вероятно скоро будет уничтожен Google. Кажется, что с каждым обновлением API Google налагает все больше и больше ограничений на фоновые службы. Если вы решите использовать фоновую службу, вы должны иметь в виду, что:
а) расширение Service()
не гарантирует, что ваша работа выполняется в отдельном потоке. Вы должны вручную убедиться, что вы ничего не делаете в потоке пользовательского интерфейса.
б) служба будет остановлена, как только приложение переместится в фоновый режим. Так что да, бесполезно.
2.
Связанные услуги.Они более сложные и работают до тех пор, пока к ним привязаны другие компоненты с помощью вызова bindService(), но всегда уничтожаются, когда приложение перемещается в фоновый режим.
3.
Службы переднего плана. Это такие же фоновые сервисы, но намного круче. Они запускаются командой
context.startForegroundService(...)
И должны показывать уведомление пользователю. Таким образом, службе разрешено работать даже после остановки приложения, или ее можно использовать для предотвращения уничтожения приложения операционной системой. Службы переднего плана используются для воспроизведения музыки или сбора данных датчиков, как я сделал в приложении GestUR 9.0003
Вы также можете использовать простой прием запуска службы из метода onReceive BroadcastReceiver. Таким образом, вы можете запустить службу сразу после загрузки телефона, зарегистрировав фильтр намерений получателя, чтобы он реагировал на действие android.intent.action.BOOT_COMPLETED
Подробнее о службах переднего плана читайте здесь: https://developer.android.com /guide/components/foreground-services
4. Теперь самое лучшее —
WorkerManager и его Workers . Это потрясающе, и в глазах Google у них есть будущее, потому что они являются частью Android Jetpack. Вот из документации по разработке Android: «Для задач, которые должны выполняться немедленно и требуют дальнейшей обработки, даже если пользователь переводит приложение в фоновый режим или перезагружает устройство, мы рекомендуем использовать WorkManager и его поддержку длительных задач».
YouTube недавно перешел на WorkManager для своих потребностей в фоновом планировании и сообщил об улучшении времени запуска приложений, а также о снижении частоты сбоев на 8%.
Это серьезные люди. WorkManager и Workers — это то, что вы должны использовать для длительных фоновых задач.
Как это работает?
1. Создайте рабочий класс или классы, расширяющие Worker(context, workerParameters)
2. Эти классы перезапишут doWork()
, который возвращает Result
3. Создайте рабочий запрос с помощью PeriodicWorkRequestBuilder
или OneTimeWorkRequestBuilder
и установите ограничения для вашего работника.