Xiaomi Service Framework — что это за приложение и как его отключить
Фото: pixabay.com
Ваш новенький Xiaomi быстро разряжается без видимых причин? Всё потому, что некоторые приложения могут работать в фоновом режиме, потребляя не только энергию, но и трафик. Одна из таких программ — Xiaomi Service Framework. Возможно, вы видели это приложение на своем телефоне, но точно никогда сами не скачивали его. Для чего оно вообще нужно и можно ли его удалить без последствий для смартфона, Xiaomi держит почти что в тайне от пользователей. Но мы сейчас разберемся.
Почему Xiaomi Service Framework «жрет» трафик и батарею вашего смартфона
Приложение Xiaomi Service Framework создано для синхронизации и доставки оповещений от гаджетов, «привязанных» к телефону, например от смарт-часов. Это системное приложение, и оно постоянно поддерживает связь с облаком Mi Cloud, в результате чего даже в фоновом режиме потребляет интернет-трафик и расходует заряд аккумулятора.
Узнать, сколько реально трафика тратит программа, очень просто:
1. Перейдите в «Настройки» смартфона в раздел «Все приложения».
2. Найдите в списке Xiaomi Service Framework и нажмите на него.
3. Посмотрите в открывшейся информации о приложении, сколько трафика было потрачено.
Чтобы понять, насколько существенно Xiaomi Service Framework разряжает батарею, нужно снова открыть настройки:
1. В «Настройках» зайдите в категорию «Безопасность».
2. Отыщите вкладку «Потребление трафика».
3. Откройте «Системные приложения» и найдите в списке Service Framework.
Здесь вы увидите, сколько именно заряда израсходовала системная программа и за какое время.
Как отключить Service Framework в смартфоне Xiaomi
Удалять приложение не рекомендуется, так как оно системное, однако можно просто его отключить. Смело делайте это, если не пользуетесь функциями Mi Cloud. Есть два способа отключить Service Framework: без использования root-прав или при их наличии.
Отключаем Service Framework без root-прав
1. В «Настройках» вам нужен раздел «Батарея и производительность».
2. Найдите пункт «Питание» или «Расход заряда батареи» (зависит от версии ПО).
3. Пять раз нажмите на пункт «Включить».
4. Появится режим «Максимальный», его нужно активировать.
5. Выбираем приложение Xiaomi Service Framework и активируем опцию «Ограничение фоновой активности».
Важная деталь: этот способ сработает, если смартфон Xiaomi не обновлен до версии MIUI 10. В ином случае отключить Xiaomi Service Framework можно только с root-правами.

Отключаем Service Framework без root-прав (посмотрите, сколько неприлично много энергии иногда потребляет это системное приложение!)
Отключаем с root-правами
1. В «Настройках» смартфона найдите раздел «О телефоне».
2. Отрывисто нажимайте на строку с версией системы MIUI, пока не появится уведомление о получении root-прав.
3. Теперь найдите в этом же разделе пункт «Для разработчиков».
4. Включите функцию «Отладка по USB».

Отключаем Service Framework c root-правами с помощью приложений TWRP и Root Uninstaller
Для дальнейших действий нужны два приложения: TWRP (Team Win Recovery Project) и Root Uninstaller:
1. Устанавливаем Team Win Recovery Project.
2. Возвращаемся в настройках в раздел «О телефоне».
3. Находим «Обновление прошивки» и нажимаем на «…».
4. Перезагружаемся в Recovery.
5. Устанавливаем приложение Root Uninstaller.
6. Запускаем его, разрешаем доступ к root-правам.
Далее остается найти Xiaomi Service Framework в списке приложений и «заморозить» ненавистную утилиту.
Как еще уменьшить расход трафика приложением Service Framework
Если не хотите отключать приложение, можете просто задать для него лимит по трафику:
1. Найдите в «Настройках» раздел «Передача данных». В некоторых версиях ПО он называется «Интернет».
2. Откройте «Контроль трафика».
3. Нажмите на «Тарифный план» и далее перейдите к пункту «Лимит трафика».
4. Определите предельный объем трафика для приложения.
Как только программа израсходует выделенные мегабайты, доступ к интернету для нее будет автоматически ограничен.
Оптимизация работы Xiaomi Service Framework
Если вам важна синхронизация, то можете просто ограничить «поле деятельности» Xiaomi Service Framework, чтобы приложение работало, но не потребляло много интернет-трафика и заряда аккумулятора. Сделать это легко:
1. В «Настройках» откройте пункт «Дополнительно или «Расширенные» (в разных версиях ПО названия отличаются).
2. Выберите «Конфиденциальность».
3. Перейдите во вкладку «Доступ к уведомлениям».
4. Найдите в списке Xiaomi Service Framework и отключите его.
5. Вернитесь в настройки конфиденциальности и выберите пункт «Приложения с доступом к данным».
6. Также отыщите Service Framework и ограничьте его активность.
Теперь Xiaomi Service Framework не будет «читать» все сообщения, служебные уведомления и ваши личные данные.

Сделав несколько тапов по экрану, вы сильно ограничите работу Xiaomi Service Framework, при этом оставив его включенным
Заключение
Теперь, выяснив, что за программа Xiaomi Service Framework, вы можете смело ее отключать. Большинству пользователей смартфонов китайского бренда это системное приложение не нужно на практике. Если возникнет необходимость вернуть полноценный доступ к Mi Cloud, вы сможете в любой момент активировать отключенный софт.
Ещё немного про телефоны Xiaomi и борьбу с ними. Updated

Честно признаться, у меня не было планов писать и публиковать эту статью, но, после того, как за два месяца увидел в ближнем кругу коллег 5 штук свежеприобретённых телефонов от Xiaomi, и недавнюю статью на Geektimes, рекламирующую управление умным домом от Xiaomi, ко мне пришла совесть и, сцуко, потребовала поделиться знанием с остальными.
Для начала небольшая вводная часть для тех кто не в теме. Есть такая компания Xiaomi, которая делает неплохие по начинке телефоны и заливает в них кастомизированный Android. Бизнес модель, как недавно официально было заявлено — «По сути мы раздаём наши смартфоны, не зарабатывая на этом денег. Нас больше заботят долгосрочные источники дохода. Мы могли бы продать 10 миллиардов смартфонов и не заработать на них ни цента». Источник раз и два.
Заглянув в сентябрьскую статью на Security lab и ещё вот в эту жалобу, у меня лично возникло ощущение, что телефон Xiaomi это что-то типа поводка на котором владельца водит Большой брат (утрирую, конечно же).
Это и стало основным мотивом проведения исследования поведения телефона Xiaomi redmi 3S
с прошивкой MIUI Global 8.1 Стабильная 8.1.1.0 (MALMIDI)
Исследование подопытного кролика и обнаружение проблемы
Беру новенький телефон из коробки. Включаю его и прохожу через мастера начальной настройки, предварительно включив запись трафика на Wi-Fi роутере. Ровно через две секунды, после того как телефон подключился к точке доступа, началось скачивание файла размером около 8Мбайт с одного из серверов Xiaomi. Это был обычный zip архив, внутри которого лежала куча всего и, в том числе, файл AnalyticsCore.apk, упомянутый в статье на SecurityLab.
Дальше — больше. В общей сложности, за всё время наблюдения, я насчитал чуть меньше восьми десятков имён серверов в разных доменах. Сразу оговорюсь, что в этом числе нет серверов Google и Facebook, приложения которых также предустановлены. Просто потому что я их считал отдельно. С ними тоже всё «весело».
Большая часть коннектов к серверам Xiaomi шла через HTTPS, поэтому разобраться в деталях ЧТО именно передаётся напрямую возможности не было. Отключение всевозможных логинов, синхронизаций и т.п. к исчезновению этого трафика не привело.
Дополнительно смущало то, что большей частью запросы были небольшими (объём принятого переданного трафика TCP сессий не превышал 1-2Кб), но, т.к. наши сотовые операторы округляют объём трафика вверх (Например, Tele2 до 150Кб), то, при неудачном совпадении, можно «накачать» таким образом существенные объёмы трафика, а в роуминге неожиданно попасть на деньги.
Тех, кого сей факт не смущает могут дальше не читать, т.к. дальше будет описание конкретики изоляции трафика от приложений, вшитых в заводскую прошивку.
Предварительные условия
Первое что необходимо — это рутовать телефон. Как это делается в случае Xiaomi я здесь описывать не буду, отсылаю желающих пройти этот путь к полной версии этой статьи (ссылка в конце).
Второе — это влить в телефон прошивку через кабель и стереть ВСЕ пользовательские данные.
Третье — телефон НЕ ДОЛЖЕН иметь доступа в интернет после залива свежей прошивки.
Update. До момента установки нижеописываемых ограничений, разумеется.
Disclamier. Все дальнейшие манипуляции над телефоном Вы делаете на свой страх и риск.
Ответственность за любой результат лежит на том, кто именно делал описываемые ниже действия.
Небольшая техническая вводная часть
Серверы, к которым обращается телефон, в большинстве своём расположены в облаке Amazon, поэтому обращения к ним происходит по именам, которые ресолвятся через round-robin DNS в разные IP адреса из разных подсетей /16. Блокировать их все по подсетям смысла особого нет — так можно половину интернета отфильтровать, что не есть хорошо. Блокировать по именам — хорошо, но не факт, что имена хостов из L3 доменов не генерируются динамически. Идеально было бы прибить все приложения, которые обращаются к серверам Xiaomi, но, как показала практика, глубина их интеграции в Android такова, что после удаления некоторых из них телефон может просто отказаться загружаться.
Далее. К внешним серверам обращается не один процесс, а многие, при этом задачу усложняет наличие в Android UID sharing, когда под одним UID могут генерировать сетевой трафик разные процессы (приложения). Более того, один из полезных процессов (отвечающий за GPS) надо выпускать во внешний мир, чтобы скачивать небольшие обновления, но при этом он сидел под тем же UID, что и восемь штук процессов, рвущихся к серверам Xiaomi.
Также надо упомянуть про ограниченность инструментария, доступного для решения вышеописанных задач, т.к. большая часть приложений имеющих в названии firewall доступных на Play Market работают через т.н. VPN, т.е. от сливов информации до запуска приложения они не защищают.
Большая часть того, что будет рассказано дальше для профессиональных разработчиков Android есть банальная истина, но всем остальным это позволит понять почему фильтрация построена именно таким образом.
В отличие от обычного Linux, где есть файлы конфигурации и стартовые скрипты, лежащие в /etc, в Android всё сделано несколько иначе. Общее управление сетью осуществляет Connection Manager, который дёргает системный демон netd, который, в свою очередь, вызывает iptables с определёнными параметрами командной строки. Соответственно, вызывать IPtables из скрипта начальной загрузки (init и прочих) особого смысла нет — netd при старте всё равно вызовет iptables, очистит правила и зальёт свои.
Единственный выход оставленный Google — писать необходимые команды конфигурации iptables в скрипте /system/bin/oem-iptables-init.sh. Путь к этому скрипту и его имя жёстко прописаны внутри исходного кода демона netd.
Для фильтрации статических имён хостов можно редактировать файл /etc/hosts, но при этом надо помнить про их количество и возможность их динамической генерации.
Дальше будет рассказ как это всё делалось.
Удаление и заморозка (если нет уверенности) ненужных программ
При помощи бесплатной версии Titanium Backup можно посмотреть соответствие между именем программы, показываемое в системе (Play Market), её кодовым именем (com.google.vending) и, при необходимости, удалить то, что явно не нужно.
Недостаток бесплатной версии — не умеет делать заморозку программ, посему заморозку делаем через ADB shell при помощи package manager. Пример:
root@land:/ # pm disable com.miui.analytics pm disable com.miui.analytics Package com.miui.analytics new state: disabled root@land:/ # pm disable com.miui.systemAdSolution pm disable com.miui.systemAdSolution Package com.miui.systemAdSolution new state: disabled root@land:/ # reboot reboot
Фильтрация сетевых запросов
Disclamier 2.В данной статье описано КАК можно фильтровать «левую» сетевую активность телефона. Что конкретно фильтровать — каждый волен решать сам.
Как это можно делать.
1. Cамое простое — заполнение файла /etc/hosts записями имён серверов c IP адресом 127.0.0.1. Мой набор серверов лежит на Google Drive в папке Files.
Недостаток варианта — невозможность блокировки неизвестных и динамически генерируемых имён хостов и доменов L3/L4.
Update. Несколько раз обнаруживал странное поведение Netfilter/IPtables. После загрузки телефона в таблице действующих правил оказывались не все правила, перечисленные в скрипте. Если перезагрузить телефон ещё раз — все правила оказывались на месте. Прям шайтан-машина, а не телефон. В документации нашёл описание параметра —wait, который вроде бы должен решать эту проблему. Но, для гарантированного решения проблемы, сделал ещё вызов IPtables из скрипта не напрямую, а через несложную функцию, которая проверяет код завершения и, при необходимости, повторно выполняет команду с небольшой задержкой, опять же проверяя результат.
2. пишем команды фильтрация отправки пакетов на подсети /16 и /24 стандартными правилами Netfilter/IPtables в файл oem-iptables-init.sh. Здесь их не описываю, желающие напишут их сами, либо найдут в полной версии статьи.
Update. Недостаток варианта — большая часть серверов расположена в облаке Amazon и имеет переменные (round-robin DNS) IP адреса. Для гарантированной их фильтрации придётся закрыть не один десяток подсетей /16, что не есть хорошо. Можно ненароком забанить и полезные сайты. Но для статичных хостов (если их немного) это решение вполне подходит.
3. Фильтруем DNS запросы к ненужным нам доменам. Это несколько сложнее, поэтому опишу подробнее.
Updated.В составе IPtables, штатно идущем в Android есть модули расширения функционала, которыми мы дальше и воспользуемся. Помня, что DNS запросы отправляет система (UID 0) пишем правило:
$IPTABLES -A oem_out --protocol udp --dport 53 -m owner --uid-owner 0 -m string --algo bm --hex-string '|04|miui|03|com|00|' -m comment --comment "Deny UID 0 DNS queries for miui.com domain" -j DROP # $IPTABLES -A oem_out --protocol udp --dport 53 -m owner --uid-owner 0 -j ACCEPT
Updated. Первая строчка отфильтрует все UDP пакеты, отправленные системой (UID 0) на 53 UDP порт любого IP адреса и содержащие в себе байты 046d69756903636f6d00 (запросы к DNS серверу содержащие в себе .miui.com). IPtables самостоятельно преобразуют строчку |04|miui|03|com|00| в чисто шестнадцатиричый вид 046d69756903636f6d00.
Наличие шестнадцатиричной цифры на первой позиции для параметра —hex-string — обязательно, иначе IPtables не примет команду. Точки-разделители в доменном имени при формировании DNS запроса преобразуются в шестнадцатиричные цифры, означающие количество байт до следующего разделителя. Поэтому последний байт равен нулю (00h).
Вторая строчка пропустит все остальные DNS запросы. Комментарии я указал для удобства, чтобы команда iptables -L -v показывала результаты блокировок нагляднее.
4. Для работы Assited GPS необходимо дать возможность доступа к серверам QualComm процессу с UID 1000. Здесь всё сложнее, т.к. простая фильтрация пакетов по содержимому, как в случае DNS серверов, не сработает — начальные пакеты установления TCP соединения c флагами SYN, ACK ещё НЕ содержат в себе имя хоста, которое обязательно присутствует в HTTP запросе, а пакеты идущие после заголовка HTTP запроса уже могут не содержать в себе имя хоста. В результате фильтр пропустит из всей TCP сессии только часть пакетов, что равносильно её запрету или обрыву.
Поэтому рисуем вот такой костыль для фильтрации запросов седьмого уровня средствами 3-4 уровня:
# разрешаем инициировать установление TCP соединений на 80 порт всем процессам работающим под UID 1000. $IPTABLES -A oem_out -m owner --uid-owner 1000 --protocol tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT #проверяем наличие слова xtrapath в пакетах TCP соединений установленных на 80 порт процессами с UID 1000 и помечаем эти соединения шестнадцатиричным числом 5555. $IPTABLES -A oem_out -m owner --uid-owner 1000 --protocol tcp --dport 80 -m conntrack --ctstate ESTABLISHED -m string --algo bm --string 'xtrapath' -j CONNMARK --set-xmark 0x5555 # убиваем пакеты всех установленных процессами с UID 1000 TCP соединений не имеющих нашей пометки число 5555 $IPTABLES -A oem_out -m owner --uid-owner 1000 --protocol tcp --dport 80 -m conntrack --ctstate ESTABLISHED -m connmark ! --mark 0x5555 -j DROP
5. Фильтруем доступ в интернет по приложениям (у меня Google Chrome имел UID 10060). Разрешаем выход в интернет Google Chrome и запрещаем всем остальным приложениям.
$IPTABLES -A oem_out -m owner --uid-owner 10060 -m comment --comment "Permit Google Chrome internet access" -j ACCEPT # # Block all other processes # $IPTABLES -A oem_out -m owner --uid-owner 0-9999 -m comment --comment "Block all other system processes internet access" -j DROP $IPTABLES -A oem_out -m owner --uid-owner 10000-99999 -m comment --comment "Block all other user processes internet access" -j DROP
Слабым местом этого способа фильтрации является его опора на наличие отметки UID на каждом конкретном пакете при прохождении его через Netfilter/IPtables. Обнаружилось это по непонятным TCP соединениям к серверам Google, пакеты которых не содержали UID. Исследование показало, что эти пакеты инициированы процессом Google Captive portal login. Я решил эту проблему обходным путём — просто выключив эти запросы командами в ADB shell:
root@land:/ # settings put global captive_portal_detection_enabled 0 root@land:/ # reboot
Радует, что (судя по накопленной статистике за несколько суток перехвата Wi-Fi трафика), никаких иных системных процессов отсылающих пакеты без UID в исследовавшемся телефоне нет.
Update. Дальнейшее наблюдение показало как я ошибался. Такие «тихие» процессы есть, но часть из них невинно общается друг с другом через адрес 127.0.0.1, что ненаказуемо.
Всё остальное надо банить.
Поэтому, для их правильной фильтрации, надо добавить в самое начало скрипта ещё две строчки:
$IPTABLES -A oem_out --protocol all --source 127.0.0.0/8 --destination 127.0.0.0/8 -m comment --comment "Accept internal traffic" --jump ACCEPT $IPTABLES -A oem_out --protocol all -m owner ! --uid-owner 0-99999 -m comment --comment "Drop any traffic which does not have UID." --jump DROP
Update. Уже после опубликования статьи для меня окончательно стало ясно, что UID приложений, задаваемый системой при установке приложения, при обновлении и/или переустановке приложений может непредсказуемым образомменяться. Следовательно, доступ в интернет для приложения тоже отвалится и надо будет переписывать правило Netfilter/IPtables заново.
Для решения этой проблемы набросал небольшой кусок скрипта, который читает из хвоста файла наименования приложений, проверяет их наличие в системной базе приложений, и, при наличии, берёт оттуда же UID приложения и динамически (в процессе работы скрипта) формирует правило Netfilter/IPtables.
Строго говоря — чтение параметров из тела скрипта — это тоже костыль. Но меня оправдывает то, что на момент работы скрипта, подмонтировать файловую систему доступную снаружи при обычной работе телефона — невозможно. В папке /dev нет соответствующих файлов устройств. Допускаю, что это может быть особенность прошивки конкретного телефона.
Текст специально сделал максимально подробным, для лучшего понимания.
# Permit intenet access for the packages listed at the end of this file. White list mode. # SU=`/system/bin/which su` # changing reading file behavior (read whole file with \r\n into variable) IFS="" # reading first and second fields of every line of the system packages database into variable PACKAGESDB. # Escalating privileges via su because of filesystem packages database file access limitations. PACKAGESDB=`$SU -c "/system/bin/cut -d' ' -f 1,2 /data/system/packages.list"` # # Reading last lines of current script form the end till "exit 0" line # Filtering empty lines, lines started with # and all symbols after # (comments) in every line. # # 's/#.*//' - remove all in every line after # # '/^#/d' - remove lines staring with # # '/./!d' - remove empty lines # '/exit 0/,$ d' - remove all lines starting line with "exit 0" # 's/ //g' - remove spaces from line # /system/bin/tac $0 | /system/bin/sed -e '/^#/d' -e 's/#.*//' -e '/exit 0/,$ d' -e '/./!d' -e 's/ //g'| while read line; do # Just in case 8-) OUR_PACKAGE_NAME=$line # Strict checking for existence of our package name in the system packages database. Checking first field. PACKAGE_NAME_IN_DB=`echo $PACKAGESDB | /system/bin/cut -f 1 -d' ' | /system/bin/grep -Fx "$line"` if # Checking grep utility exit code. "0" means pattern found test "$?" == "0" then # # Looking for package UID in database. Checking second field. VERY important space after $line. # PACKAGE_UID=`echo $PACKAGESDB | /system/bin/grep "$line " | /system/bin/cut -f 2 -d' '` else # All other exit codes return us to the beginning of the cycle. # echo "Package $OUR_PACKAGE_NAME not found" $IPTABLES -A $CHAIN -m comment --comment "Package name $OUR_PACKAGE_NAME not found. Check package name." --jump LOG continue fi # # Set the package right for Internet access # $IPTABLES -A $CHAIN -m owner --uid-owner $PACKAGE_UID -m comment --comment "Permit $OUR_PACKAGE_NAME Internet access" -j ACCEPT # done ###### . skipped. #### exit 0 #### ####### Do NOT edit before this line ######### # Please add package names and comments after this line for granting them internet access. ##### # Google Play Store and its companion processes # com.google.android.gms # Google Services Framework Internet access com.android.vending # Google Play Market internet access com.android.providers.downloads # Download manager service internet access # # Other Google apps com.google.android.youtube # Youtube application internet access com.google.android.apps.maps # Google Maps application internet access com.google.android.googlequicksearchbox # Google Assistant internet access # # com.android.chrome # Google Chrome browser internet access
После переустановки/обновления приложения нужно всего лишь перезагрузить телефон.
6. Для целей мониторинга работы правил Netfilter/IPtables можно добавить ещё вот такую строчку:
$IPTABLES -A oem_out --source 10.1.30.42 --protocol tcp --jump LOG --log-prefix "IPtables log:" --log-uid
Параметр IP адрес отправителя (—source 10.1.30.42) можно опустить, но в этом случае лог будет завален записями сетевой активности процессов, завёрнутых на адрес 127.0.0.1 файлом hosts. Лог можно читать через команду dmesg (dmesg | grep IPtables) в ADB Shell.
Версию статьи, которая писалась как полная инструкция по решению этой проблемы с Xioami Redmi 3S я выложил на Google Drive. Сюда её выкладывать не рискнул именно из-за объёма.
P.S. Я не разработчик Android-приложений, просто жизнь заставила два месяца поразбираться с сабжевым телефоном. Посему, господа профи, если я где ошибаюсь — поправляйте. Буду признателен.
P.P.S. В качестве средства перехвата использовался Zyxel Keenetic Extra. У него есть возможность перехватывать Wi-Fi трафик и сливать его на флэшку для последующего анализа.
Удалите эти приложения, разряжающие батарею вашего телефона — они опасны!
Этот список поможет узнать, какие приложения разряжают батарею вашего смартфона на базе Android. Специалисты исследовательской компании Sophos подтвердили существование кликер-мошенничества ( кликфрод или Andr/Clickr-ad) в двух десятках программ, размещённых в Google Play Маркет . Из-за них любой телефон даже с самой мощной батареей едва ли сможет продержаться до конца рабочего дня.
Посмотрите также топ приложений от компаний AVG и Avast для Android с повышенным расходом заряда в фоне и после разблокировки экрана.
Среди программных продуктов есть и «старички» 2016-го года в виде фонарика Sparkle Flashlight или планировщика путешествий, а также различные новые игры 2018-го вроде блэкджека, настольного футбола, пинг-понга, зомбоида и так далее. Большинство наименований Google начала удалять ещё в декабре, но до сих пор каждый владелец смартфона находится в зоне риска — общее число загрузок по списку переваливает 2 миллиона скачиваний.
Список приложений, разряжающих батарею Андроид, которые следует удалить незамедлительно
1. Sparkle FlashLight
2. Snake Attack
3. Math Solver
4. ShapeSorter
5. Tak A Trip
6. Magnifeye
7. Join Up
8. Zombie Killer
9. Space Rocket
10. Neon Pong
11. Just Flashlight
12. Table Soccer
13. Cliff Diver
14. Box Stack
15. Jelly Slice
16. AK Blackjack
17. Color Tiles
18. Animal Match
19. Roulette Mania
20. HexaFall
21. HexaBlocks
22. PairZap
Обновлено 25.01.2019: Исследователи из TrendLabs пополнили этот список ещё 85 приложениями с опасным кодом — обязательно проверьте, нет ли их на вашем телефоне.

Что нужно делать простому пользователю?
Когда на телефоне есть приложение с повышенным расходом заряда аккумулятора (его можно выявить по этой инструкции), то вы скорее всего попали в ряды жертв «кликфродов». Обычная мошенническая накрутка кликов по рекламе в тот момент, когда телефон выключен или находится в режиме ожидания. Либо в свою пользу, либо во вред соперникам недобросовестные конкуренты нагнетают или «скликивают» рекламные показы в интернете.
Жертвой «кликфрода» или любого другого вируса может стать любой владелец смартфона, даже если он всегда следует правилам и устанавливает приложения официально из Google Play Маркет.
Поэтому как можно чаще проверяйте установленные приложения на предмет подозрительной активности, для чего в Android предусмотрено несколько встроенных инструментов. Чем выше версия операционной системы, тем шире её функциональность на этом поле.
Действия, которые помогут быстро обнаружить приложение, что разряжает аккумулятор:
1. Зайдите в настройки и в раздел аккумулятора для просмотра истории использования батареи;
2. Обратите внимание на строчки наиболее активных фоновых сервисов;
3. Несистемные приложения лучше остановить (например, пиццерии или магазины);
4. Лучше удалить те программы, которые редко используются или не используются вовсе;
5. Удалите также клиентские приложения сервисов, к которым есть доступ через браузер;
6. Для нужных программ очистите кэш и ограничьте фоновые соединения (в настройках мобильного интернета);
7. Если есть лайт-версия приложения (облегчённая), лучше использовать её вместо официальной.
Какие приложения на Андроид обычно разряжают телефон быстрее других?
В российском сегменте Google Play Маркет есть огромное количество приложений со встроенными механизмами «пользовательских метрик» — что вы ищете, какие вопросы задаёте голосовому помощнику, куда ездите на выходные, в каких магазинах предпочитаете отовариваться и так далее. Это очень ценные данные (хоть и обезличенные в большинстве своём) для маркетологов.
И несмотря на то, что сбор подобных сведений совершенно безобиден для нашей жизни, комфорту её сам процесс наблюдения вполне способен помешать.
Например, «метрики» сервисов «Яндекса» для фиксации активностей, поиска и определения целевых аудиторий (от каршерингового « Драйва » и фирменного сервиса такси до « Едадила » и « Погоды ») постоянно находятся в фоновом режиме наблюдения за телефоном. Каждый раз при разблокировке экрана и пользовании операционной системой, они фиксируют массу параметров, нагружая в массе своей аппаратные ресурсы мобильного устройства.
Даже безобидные метрики «Яндекса» тоже являются причиной повышенного расхода — едва заметного при одном/двум приложениях и вполне ощутимого при десятке установленных сервисов.
Чем больше появляется новых пользователей Android, тем важнее и полезнее информация о каждом устройстве для рекламодателей, сервисов размещения объявлений и, разумеется, мошенников в области управления трафиком. Сейчас никто, кроме вас самих, не сможет обеспечить лучшую безопасность мобильного устройства — просто удаляйте всегда всё лишнее и пользуйтесь лишь самыми необходимыми приложениями, которые если и разряжают батарею, то для нужного дела.
Если у вас возникли вопросы, то оставьте комментарий или отправьте сообщение ВКонтакте @NeovoltRu, чтобы получить помощь. Подпишитесь в группе на новости из мира гаджетов, узнайте об улучшении их автономности и прогрессе в научных исследованиях аккумуляторов. Подключайтесь к нам в Facebook и Twitter.
Что делать, если быстро разряжается смартфон на Android
Время автономной работы — это один из важнейших факторов, который учитывается при выборе модели смартфона. С увеличением диагонали смартфонов, использованием энергоемких приложений, повышением потребления энергии «железом», снижается время автономной работы смартфона. Одним из шагов производителей по решению данной проблемы является увеличение ёмкости аккумуляторов, устанавливаемых в смартфоны. Сейчас редко увидишь смартфон от «серьезного» производителя, который комплектуется аккумуляторной батареей 3000 mAh или меньше. Цифра в 4000 mAh сегодня является минимально-стандартной. Аккумуляторы такой емкости, при использовании смартфона в режиме средней активности, позволяют заряжать его не чаще одного раза в сутки.

Но если сразу после покупки смартфона время его автономной работы без подзарядки оправдывает ожидания, то по истечении определенного периода эксплуатации, время автономной работы сокращается. Это естественный процесс, от которого никуда не деться. Да, если время автономной работы заметно снизилось через год-полтора, два после покупки — это вроде нормально и не вызывает особых вопросов. Ведь со временем происходит «износ» аккумулятора. Ёмкость батареи падает, она уже не может «впитать и удержать» заряд, соответствующий ёмкости, которая была изначально. Полностью остановить этот процесс, к сожалению, невозможно, но замедлить старение аккумуляторной батареи — возможность есть (если Вам интересна данная тема — ознакомьтесь со статьей «Как правильно заряжать смартфон, чтобы продлить срок службы его аккумулятора»).
А вот если «процесс» уменьшения времени автономной работы стал заметен уже через месяц-два после начала эксплуатации, или время автономной работы резко уменьшилось одномоментно — вот здесь уже надо искать причину, которая приводит к быстрому разряду аккумуляторной батареи. Причин тому может быть несколько, но «повлиять» можно только на одну. Если смартфон начал разряжаться гораздо быстрее обычного — проблема мажет быть в «энергоемких» программах и приложениях, которые работая, даже в фоновом режиме, активно «сажают» батарею смартфона и в настройках энергосбережения смартфона.
Увеличить время автономной работы смартфона можно специальными встроенными инструментами для оптимизации и экономии заряда батареи Android, удалением или остановкой неиспользуемых программ и приложений, с помощью специальных приложений.
Рассмотрим все на примере смартфона Xiaomi с десятой версией Android (на смартфонах других производителей и смартфонах с другими версиями Anroid визуализация может быть немного иной, но «общий смысл» выбора действий тот же).
Встроенные инструменты
Зайдите в настройки Вашего смартфона,

введите в поисковую строку запрос «батарея» и выберите найденную по запросу строку.

Вы попадаете в раздел «Экономия энергии батареи».

Здесь отображается приблизительное оставшееся время автономной работы смартфона, есть возможность включения режимов «Экономия энергии» и «Ультра-экономия энергии», предложение исправления проблем энергопотребления (если таковые имеются) и список (рейтинг) самых энергоемких программ и приложений.

В «проблемах энергопотребления» можно включить или отключить предлагаемые компоненты и увидеть как то или иное действие повлияет на заряд батареи.




При включении режима «экономия энергии», время автономной работы смартфона должно увеличиться на 54%, что очень неплохо.

При включении режима «ультра-экономия времени» время автономной работы смартфона должно увеличиться почти в десять раз, но при этом будут ограничены энергоемкие функции и будет снижена производительность смартфона, что с большой долей вероятности не устроит обычного пользователя. Фактически в этом режиме Вы получите только функции обычной кнопочной звонилки — исходящие и входящие вызовы плюс возможность отправки и получения SMS. Хотя в форсмажорной ситуации включение данного режима может быть вполне оправданно.

Удаление или остановка неиспользуемых программ и приложений
С течением времени в смартфоне скапливается немало программ и приложений, которыми Вы не пользуетесь, но которые постоянно «питаются энергией», разряжая аккумулятор. Такие приложения могут быть предустановлены (т.е. уже установлены в смартфоне при его покупке), а могут быть установлены самим пользователем, а потом просто забыты за ненадобностью и не деинсталлированы (не удалены). Чаще всего именно наличие большого количества установленных и абсолютно ненужных приложений и становится причиной резкого уменьшения времени автономной работы смартфона.
- Для того, чтобы увидеть все приложения, установленные в смартфоне, заходим в «Настройки»,

- находим и выбираем «Приложения»,

- заходим во «Все приложения».

А далее все зависит от Вас. В длинном списке приложений выбираем приложения, которыми уже не пользуемся, или которые просто не нужны. Удаляем их без сожаления. В результате проведения этой операции, удаленные приложения больше не будут потреблять энергию и разряжать аккумулятор смартфона. Время автономной работы однозначно увеличится!
Приложения для анализа и уменьшения расхода заряда батареи
Существует немало сторонних приложений, которые анализируют возможности увеличения времени автономной работы смартфона, оценивают скорость разряда аккумуляторной батареи и ограничивают работу самых «прожорливых» программ и приложений.
Приложение «Flip&Save»

- оптимизация времени автономной работы
- интеллектуальное переключение профилей «поведения» батареи для увеличения времени автономной работы
- очистка кэша и ненужных файлов
- автоматическое включение и отключение радиомодуля, Wi-Fi, Bluetooth
- выборочное отключение запущенных приложений и служб
Скачать приложение можно здесь.
Приложение «Батарея — Battery»

- индикация уровня заряда аккумулятора
- индикация напряжения аккумулятора
- индикация температуры аккумулятора
- индикация «состояния здоровья» аккумулятора
Скачать приложение можно здесь.
Приложение «Kaspersky Battery Life»

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