Проблемы с батареей и потреблением трафика
В этой статье рассказывается об AdGuard для Android — многофункциональном блокировщике рекламы, который защищает ваше устройство на системном уровне. Чтобы увидеть, как он работает, скачайте приложение AdGuard
Из-за встроенных процессов статистики высокий расход трафика и/или заряда батареи часто приписывался AdGuard в Android 6 и более ранних версиях. Это происходило потому, что AdGuard учитывал весь отфильтрованный трафик из разных приложений. В результате доля AdGuard в общем объёме данных и расходе батареи была завышена, а доля других приложений — занижена.
Однако в Android 7 это было исправлено. Теперь информация во встроенной статистике использования данных Android очень близка к реальности, хотя в данных об использовании батареи есть небольшие расхождения.
Тем не менее, пользователи AdGuard всегда могут увидеть реальную картину на экране Использование батареи.
Собственная статистика расхода батареи
Доступ к нему можно получить, перейдя по ссылке Статистика → Использование батареи.
Внутри вы найдёте график, показывающий реальное потребление ресурса батареи AdGuard запоследние 24 часа, с возможностью получить более детальную информацию о почасовом расходе, нажав на график. Кроме того, там также есть числовая разбивка релевантных данных и краткое техническое пояснение.
Сколько заряда батареи на самом деле потребляет AdGuard?
Для начала приведём немного теории и ссылок с необходимыми данными.
Android считает потребление трафика исходя из так называемого Power Profile, который предоставляется каждым производителем: https://source.android.com/devices/tech/power/values.html
Главная часть Power Profile — это набор значений, выраженных в миллиамперах, которые определяют потребление батареи каждым компонентом устройства: https://source.android.com/devices/tech/power/values.html
Например, из таблицы выше:
wifi.active= 31мА дополнительное потребление в мАч, вызванное передачей данных по Wi-Fi.
radio.active= 100–300мА дополнительное потребление в мАч, вызванное передачей данных по мобильной сети.
cpu.active= 100–200мА дополнительное потребление в мАч, вызванное н-загрузкой процессора.
AdGuard самостоятельно почти не потребляет трафика, так что для оценки энергопотребления отбросим значения Mobile/Wi-Fi packets и остановимся на подсчёте CPU.
Формула для вычисления потребления:
“CPU TIME (мс)" x "cpu.active" / (60 60 1000) = "POWER USE мАч”
Подставим в эту формулу реальные значения.
Возьмём CPU total из второго скриншота и переведём в миллисекунды: 506000
Коэффициент cpu.active для 2 ГГц будет равен примерно 225 мАч
Финальный результат:
506000 225 / (60 60 * 1000) = 31,625мАч
Итог
Реальное потребление в разы ниже показанного в статистике Android. Вместо 220 мАч оно должно быть в районе 31–40 мАч. С другой стороны, потребление браузера должно быть не 66 мАч, а около 200 мАч.