Руководство по вэйклокам (XDA)

Перевод ©Dmitry Gaich 2020

Полное (но ни в коем случае не окончательное) руководство по вэйклокам от пользователя XDA-developers T.J. Bender.

Вэйклоки зло. Если Вы пытаетесь увеличить жизнь своей батареи, то это вам известно. Некоторые вэйклоки – это счастливые, добрые существа, но многие – это безмолвные пиявки, высасывающие жизнь Вашей батареи, покуда Вы пребываете в блаженном неведении о том, что происходит. Целью данного руководства является объяснение наиболее распространенных вэйклоков, с которыми Вы встречаетесь и мер по их изгнанию из системы. Если Вы встретите какие-либо не приведенные в данном руководстве, дайте знать автору, и он добавит их в список. К слову, использование автором телефона можно охарактеризовать от непродолжительного до умеренного. До девэйклокизации время на одной зарядке составляло 24 часа. После — до 36. Затем автор приобрел усиленную батарею для Galaxy Nexus и, к третьему циклу, время работы на одной зарядке достигло двух с половиной дней. Впечатляет, правда?

Первое, необходимо понять разницу между вэйклоками ядра (Kernel Wakelocks-KWL) и частичными вэйклоками (Partial Wakelocks-PWL). KWL – вэйклоки, причина которых кроется на уровне ядра или на аппаратном уровне. Некоторые из них полезны, а некоторые вампиры. Единственный способ расправиться с ними – это изменить поведение телефона. Примеры будут приведены ниже.

PWL – вэйклоки, вызванные приложением. Борьба с ними, чаще, чем никогда, будет заключаться в замораживании (или, в случае с приложениями Google, деинсталляции) агрессивных приложений. До того, как вы это сделаете, и это критично, зайдите в Настройки -> Приложения, принудительно завершите приложение, очистите его кэш и удалите данные. Если Вы этого не сделаете, Вы, наверняка, добавите себе головной боли уже где-то через 30 секунд после удаления приложения.

Второе, надо знать, какие инструменты привлекаются к охоте на вэйклоки. Первый — это Better Battery Stats. Поищите в Google «better battery stats XDA» и найдете форум разработчика; приложение бесплатно раздается участникам XDA. Однако, если BBS помогает Вам, окажите разработчику некоторую признательность и купите платную версию. Это всего $2.89, и разработчик более чем заработает это к тому моменту, когда Вы закончите изгнание своих вэйклоков. Другими инструментами, которые Вам понадобятся, являются это руководство (надо полагать) и, конечно, интернет-поисковик по Вашему выбору. Автор просто не сможет все охватить, поскольку всего он и не видел.

Две последних заметки перед руководством: не начинайте охоты за вэйклоками сразу после установки новой прошивки или чистой переустановки текущей. Новые прошивки заставляют телефон некоторое время действовать непредсказуемо, пока вещи не устаканятся и некоторые фоновые процессы не будут доведены до конца. Подождите один полный цикл батареи (от 100% до 0%, который Вы, возможно, всё равно проходите для калибровки после чистой установки прошивки) до того, как Вы начнете, или же Вы сведете себя с ума. Также, помните, что победа над одним вэйклоком зачастую приводит к возникновению другого, особенно на ранней стадии процесса. Это нормально и ожидаемо. Бог Вас не ненавидит, выбранная Вами прошивка не хрень какая-нибудь, Ваш телефон не сдох, а чистая установка в период, когда Ваша прошивка ещё настраивается, сделает только хуже.

Итак, как же отследить эти вэйклоки с помощью BBS? Это достаточно сложная процедура, так что внимательно следуйте подсказкам автора. Для начала, откройте BBS. Затем, взгляните на выпадающее вверху меню, в котором, возможно, сейчас написано «Other (Другое)»? Нажмите на него и Вы увидите ниже «Kernel Wakelocks (Вэйклоки ядра)» and «Partial Wakelocks (Частичные вэйклоки)». До неприличия сложно, правда?

Кое-что про BBS Вы должны знать: похоже, в программе имеется странный баг «подсчета». При проверке прошивки с помощью BBS, автор в конце концов задался вопросом, почему время его PWL значительно превышает действительное время вэйклока. «Действительное время вэйклока,» проще говоря, это время бодрствования- время бодрствования со включенным экраном. Если ваш телефон бодрствовал 45 минут, а экран был включен только 40, Вы имеете 5 минут действительного времени вэйклока.

Итак, почему BBS утверждает, что время PWL составило 90 минут, когда действительное время вэйклока равняется 45 минутам? У автора имеется две теории на этот счет. Первая, BBS подсчитывает вэйклоки независимо, даже если они происходили в одно и то же время. Например, если AlarmManager пробуждает Ваш телефон на две минуты, а AudioOut_1 на 30 секунд в один отрезок времени, BBS зарегистрирует PWL длиною в 2 мин 30 с, даже если устройство находилось в режиме бодрствования всего 2 минуты. Добавим сюда 30 с wlan_rx_wake (KWL), и BBS регистрирует 3 минуты вэйклоков, хотя их было всего две. Принимая во внимание, что у Вас в данный период экран был включен 30 с, Вы вдруг видите 3 мин вэйклоков, когда на самом деледействительное время вэйклока составило только 90 с. BBS эффектно удвоило время вэйклока, опровергнув Вашу статистику. Таким образом, учитывая многие дюжины мини-вэйклоков, происходящих одновременно при включенном экране, Вы легко можете увидеть, скажем, 6 ч PWL за 24 ч цикла, даже если действительное время вэйклока составило лишь 45 мин. Похоже, что экран информации батареи Андроид составляет отчеты таким же образом, поэтому, автор советует использовать действительное время вэйклока при зачистке и нападении на KWL и непослушные приложения. Некоторые PWL (AlarmManager) всегда будут значительными.

Вторая теория – это то, что минимальное показываемое в отчете время сигнала составляет определенную величину; напр., пять секунд на каждый сигнал, демонстрирующие его действие. Теперь, допустим, у Вас есть Facebook, Twitter, Google+, LinkedIn, Gmail, Email, News & Weather и BBC News, все установлены на синхронизацию каждые 30 минут. Каждое из них запускает сигнал в одно и то же время, и вдруг Ваши отчетные пять секунд превращаются в 40 секунд каждые полчаса. Допустим, у Вас было 35 сработавших сигналов каждые полчаса (не предел возможностей с Google Services Framework). 35 x 5 = 175 секунд времени бодрствования (из расчета пять секунд на сигнал), что составит 350 секунд в час отчетных вэйклоков, даже если действительное время вэйклока равнялось только 10 секундам. Так что кое-что надо иметь в виду при борьбе с PWL.

Ещё одно замечание касательно BBS и обработки им KWL: Нет такой вещи, как 0-KWL цикл, независимо от того, что говорит экран отчета BBS. Если BBS показывает 0 KWL, нажмите кнопку меню, then «More (Ещё)», then «Raw Kernel Wakelocks (Необработанная статистика вэйклоков ядра)» чтобы это увидеть. KWL необходимы для загрузки телефона. По сути, единственным телефоном с 0 KWL от последней зарядки будет телефон, который после этой зарядки не включали.

Есть пара других функций BBS, которыми мы активно воспользуемся позже, но на данный момент Вам нужно знать только одну. Нажмите на меню BBS. Нажмите «More (Ещё)». Видите поле с надписью «Set Custom Ref. (Установить польз.метку)»? Вам оно надо — очень надо.
Кроме того, как только появляется новая информация о каком-либо вэйклоке или семействе вэйклоков, она добавляется сюда. Если она Вам помогла, пожалуйста, посетите пост с данной информацией и поблагодарите опубликовавшего её. Ссылки на каждый пост даются дважды, сперва в описании вэйклока, затем внизу шапки, так что извинения по поводу невозможности найти пост не принимаются!

Последнее по счёту, но, однозначно, не последнее по ценности: модификация Вашей системы любым способом, включая удаление или изменение процессов, необходимых для работы вэйклоков, может привести к непредсказуемым результатам. Будьте осторожны и делайте резервные копии Ваших приложений и данных, а также нандроид-бэкапы как можно чаще в период поиска и избавления от вэйклоков. Все модификации, которые вы делаете, Вы делаете на свой страх и риск, и автор не берет на себя никакой ответственности за любой ущерб, который Вы можете причинить Вашему телефону в борьбе с вэйклоками.

Теперь можно приступить к KWLs, поскольку они самые малоподдающиеся уничтожению. Используйте руководство ниже для идентификации вэйклока, его причины и способов избавления от него.

ВЭЙКЛОКИ ЯДРА

wlan_rx, wlan_rx_wake, wlan_wake: это вэйклок, вызванный сетевым трафиком. Самым простым решением будет отключение Wifi, но будьте с этим осторожны! Если приложение запускает синхронизацию и видит, что Wifi выключен, оно будет искать соединение для передачи данных по мобильной сети (что является причиной вэйклока ConnectivityService). Если оно не может найти передачу по мобильной сети, оно будет ждать и искать снова в следующий интервал синхронизации и/или автомаически синхронизировать при пробуждении телефона. Этот вэйклок также может, и наоборот, быть вызванным самой сетью Wifi, когда она обновляет соединения или IP-адреса.
Для устранения: этого маленького хитрого сосунка не просто остановить, поскольку для его срабатывания есть так много причин. Режим полета достаточно безопасен—синхронизируемые приложения, похоже, «уважают» режим полета, а вот если выключен только Wifi, они просто попытаются найти обходной путь. Но в этом случае, конечно, Вы теряете возможность разговаривать по телефону. Если вы особо невезучи, сама Ваша сеть Wifi может быть проблемой. К примеру, у автора и его жены в домашней сети было четыре компьютера, айпэд, три Андроида, две игровые приставки и телевизор с Wifi. «Фоновый шум», вызываемый всем этим, постоянно пробуждал телефон. Решение? Был установлен дополнительный маршрутизатор Wifi, настроен на отличный от основного канал, и этой сетью пользовались два-три смартфона. Это не самое простое устранение проблемы, но wlan_rx_wake почти полностью исчез (сейчас около 4 мин 45 с из 12 ч 27 мин за зарядку).

PowerManagerService: это, возможно, Ваш #1 или #2 вэйклок ядра, и Вы, пожалуй, хотели бы избавиться от него любой ценой, верно? Не хотелось бы этого говорить, но с этим ничего сделать нельзя. PowerManagerService — это KWL, который служит «вместилищем» всех Ваших PWL. Это метка, ни больше, ни меньше. Не тратьте много времени на заботу о нём.
Для устранения: уменьшить PWL. Читайте ниже.

deleted_wake_locks: помните, что автор писал выше о принудительной остановке приложения и удалении кэша и данных перед деинсталляцией? Этот вэйклок дает ответ, зачем. Это PowerManagerService для удаленных приложений. Как только приложение ушло, вэйклоки, которое оно вызывало, вдруг становятся неизвестными системе, поэтому они собираются здесь. Их количество может возрастать, но не драматично, поскольку система «ищет» удаленные приложения и/или находит новые вэйклоки, ассоциированные с ним.
Для устранения: убедитесь, что вы принудительно закрыли приложения, очистили их кэш и данные перед удалением. Перезагрузка должна полностью удалить вэйклок. Если он ещё отображается, очистите кэш и Дэлвик кэш телефона.

sdio_al, sdio_dmux, etc.: это досадный вэйклок, поскольку для него есть две потенциальных причины. Одна проста, а другая не очень. Простая – это то, что Вы стали жертвой вэйклока ЗУ. Самым легким способом доказать это будет скачать Jrockttu’s Skyrocket Charger Test App. Если Ваше зарядное устройство показано, как AC Regular Charge, Ваша проблема здесь. Если AC Fast Charge or USB Normal Charge, то вэйклок может быть вызван SD картой. Это может раздражать, но, версия вэйклока с SD картой обычно достаточно незначительна и не стоит внимания. Также, огромное спасибо kishke за открытие третьей причины вэйклоков семейства sdio: данные. Похоже, что вэйклоки семейства sdio являются и частью семейства wlan в эквиваленте передачи данных по сотовой сети, и могут быть вызваны приложениями, ведущими поиск передачи данных.
Для устранения: проверьте ЗУ и настройте при необходимости. Для тестирования возможности передачи данных по сотовой сети, отметьте время вэйклока sdio, затем отключите передачу данных по мобильной сети и Wifi и оставьте на час. После этого проверьте, и если sdio минимален или отсутствует, то дело было в этом. Попробуйте другие радиомодули для лучшего соединения или отключите передачу данных по мобильной сети и используйте только Wifi. Если это SD карта, то, возможно, это не настолько сильный вэйклок, чтобы его устранять, но если Вы зотите его убрать, отформатируйте SD карту. Если форматирование не помогло, отформатируйте снова, затем сделайте вайп кэша и Дэлвик кэша.

alarm_rtc: это диспетчер внутренних сигналов Вашего телефона, устанавливает пробуждение телефона для синхронизации, пуш-уведомлений и др. Тесно связан с AlarmManager PWL.
Для устранения: проверьте Ваши приложения и убедитесь, что они настроены на синхронизацию только тогда, когда Вы этого хотите, а не постоянно или с короткими интервалами.

mmc0_detect, mmc1_detect, mmc2_detect: если быть честным, нет никакого понятия, что является причиной этого. К счастью, эти вэйклоки миинимальны, нет смысла тратить на них время. Пользователь polarbearno, однако, имеет большой опыт касательно данного вэйклока и называет причиной его излишней активности плохую SD карту.
Для устранения: Вынуть и поставить обратно SD карту, перезагрузиться. Возможно, для лучших результатов стоит очистить кэш и Дэлвик. Если проблема возникала из-за плохой внешней SD карты, эта процедура должна помочь. Если причиной проблемы не была плохая внешняя SD, возвращаемся к оригинальному решению, звучащему как «хороший вопрос…»

vbus_present: Этот вэйклок существует, пока телефон подключен к зарядному устройству. Он также появляется, когда Вы используете зарядку от Apple, которая регистрируется как «slow USB (медленная зарядка по USB)» и приводит к вэйклоку, который удерживается и после отключения от ЗУ.
Для устранения: проверьте телефон. Подсоединен ли к нему шнур? Если так, ведет ли он к источнику питания? Если так, отсоедините телефон (после полной зарядки, естественно). Вэйклок ещё присутствует? Подключите телефон к зарядному устройству на несколько минут, затем отсоедините, чтобы убить вэйклок, потом подумайте, куда закопать тот фрукт, которым Вы заряжали телефон. Рекомендуется использовать оригинальные ЗУ Samsung, ибо они предназначены для телефона (и не вызывают постоянных вэйклоков). Jrockttu разработал прекрасное приложение для теста ЗУ, в шапке имеется ссылка на его выдающуюся тему «спаси жизнь батарейки».

suspend_backoff: крепкий орешек. Очень крепкий. Сводя длинную историю к двум словам, этот вэйклок возникает, когда ваш телефон хочет спать, но запущенный процесс не дает ему это сделать. Типичный пример, это Wifi. Убедитесь, что ваш Wifi настроен на работу при сне телефона. Иначе, есть риск, что Wifi будет буйствовать, чтобы предотвратить засыпание телефона. Это также, к сожалению, может быть вызвано приложениями, что усложняет укрощение этого вэйклока.
Для устранения: выполните указанные операции с Wifi, перезагрузитесь в рекавери и сделайти вайпы кэша. Если он сохраняется после этого, у вас нет другого выбора, как посмотреть на dmesg, чтобы попытаться с ним справиться. Откройте терминал и напечатайте следующие команды, по одной в строке:

su
dmesg >/mnt/sdcard/dmesg.txt

Затем, перенесите файл.txt на компьютер и откройте в WordPad или похожей программе, автоматически обрезающей строки (не в Notepad). Забейте в поиск по документу «event». Вы найдете кучу строчек, выглядящих так:
eventX-XXXX
Где X-ы – это цифры. Видите эти четыре цифры после дефиса? Вы должны видеть их повторяющимися снова и снова. Перепишите их, потом вернитесь в терминал. Они – это ID Вашего процесса (PID). В терминале напечатайте:

ps

Это покажет все процессы, которые запускались после загрузки. Если посмотрите на второй столбик слева, Вы увидите последовательность четырех цифр. Они перечислены от меньших к большим к низу страницы. Ищите, пока не найдете последовательность, совпадающую с записанными Вами цифрами. Строка ниже этих четырех цифр является именем процесса, вызывающего вэйклок. Если сразу видно, что это приложение, удалите приложение и посмотрите, что произойдет. Если это что-то из аппаратного обеспечения, которое можно легко устранить, например, Wifi, измените его настройки. Если это com.android.process.acore, стоит в ближайшее время сделать вайп. Если вы не знаете, что это за процесс, не стоит туда лезть. С помощью терминала Вы можете превратить телефон в кирпич. Вместо этого, перепишите его и забейте в Google. Наверняка, кто-то уже писал, что это за процесс и что он делает. Если что-то Вы можете легко устранить, вперед. Если это какой-нибудь глубокий системный процесс, просто сделайте полный вайп и чистую установку.

Помните, эмуляторы терминала могут превратить Ваш телефон в кирпич, если Вы не будете осторожны. Если во время их использования случается что-то плохое или Вы повредите Ваш телефон, пытаясь устранить тот или иной вэйклок, это Ваша проблема.

Добавлено из другого форума:
musb_autosuspend_wake_lock: это метод управлением питанием ядра для отключения питания микро usb порта и удержания подключенных устройств в режиме поддержки питания. Возможно, наиболее необходимый вэйклок для поддержки USB OTG на данном порте.
vbus_tuna_otg: звучит как виртуальная шина для устроуств с USB OTG. По мнению Franco, этот вэйклок происходит, когда «устройство подключено к USB.» Отсюда вывод- если Ваш GNex подключен к компьютеру через USB, Вы увидите данный вэйклок.

mipi_link: расшифровывается, как Mobile Industry Processor Interface (интерфейс процессора мобильной промышленности) но неизвестно, за что точно отвечает. Гугл дает ответ, что это может быть связано с камерами. Возможно, это тип текущего отчета камеры устройства.
Источник
Альянс Mobile Industry Processor Interface (MIPI®) является организацией с открытым членством, включающим ведущие компании мобильной промышленности, объедиенных целбюопределиь и продвигать открытые спецификации интерфейсов внутри мобильных терминалов.
Созданный в июле 2003 ARM, Intel, Nokia, Samsung, STMicroelectronics и Texas Instruments, MIPI стремится уменьшить сложность и расходы при увеличении гибкости для сотовых телефонов и их чипов.

ЧАСТИЧНЫЕ ВЭЙКЛОКИ

PWL – это другой зверь. Они почти всегда вызваны приложением (за парой значимых исключений). По этой причине, не будем глубоко рыться в них, поскольку решением обычно будет удаление вызывающих их приложений. Только некоторые из них являются значительными и заслуживают внимания.

AudioOut_1, AudioOut_2: злобная пиявка из рода вэйклоков, которая высосет всё до дна, если дать ей волю. Будучи такой костью в горле, этот вэйклок на удивление легко устраним. Он создается всегда, когда динамик телефона проигрывает звук. Касательно 99% звуков, он проходит почти мгновенно. Со звуками клавиатуры, однако он не уходит так быстро и будет сидеть там, опустошая батарею, пока его не заметят.
Для устранения: открыть настройки, выбрать звук. Выключить звуки клавиатуры, звуки прикосновений, блокировки экрана и вибраций при прикосновениях. Дело привычки, но дополнительная жизнь батареи, которую Вы получите только лишь решив эту до смешного простую проблему, более чем стоит того.
Из поста DoctorQMM: AudioOut_1 путем проб и ошибок привел к PowerAmp. Даже когда PowerAmp не был запущен, отметки (в Настройки… Гарнитура) в ”Пауза при отключении” and ”Играть при подключении”… препятствовали глубокому сну. После снятия галочек, PowerAmp AudioOut_1 PWL исчез… глубокий сон восстановился.
Кроме того, каждый раз при открытии PlayStore, AudioOut_1 PWL увеличивается, каждый раз во время некоторых игр (даже при отключенном звуке в настройках игры), AudioOut_1 PWL увеличивается. Однако, на глубокий сон это не влияет.. эти PWLs увеличиваются только если экран включен!

ConnectivityService: появляется, когда телефон пытается подключиться к мобильной сети. Излишние вэйклоки в данном случае указывают, что телфон тратит кучу времени на поиск устойчивой сети и ещё большую кучу на то, чтобы в ней остаться.
Для устранения: тестируйте различные радиомодули и найдите наилучший для Вашей местности.

AlarmManager: это, собственно, не вэйклок, а компиляция сигналов приложений и времени, в течении которого они удерживали устройство в режиме бодрствования. Просмотр только этого вэйклока немного Вам даст, но здесь понадобятся те функции BBS, о которых мы говорили выше.
Для устранения: Откройте BBS. Нажмите меню, затем «More (Ещё)», затем «Raw Alarms (Необработанные сигналы)». Это покажет, какие приложения пробуждали ваш телефон, и как часто они это делали. Google будет причиной тонны пробуждений, но они, в основном, безобидные. Мы обсудим некоторые из проблем, связанных с Google, позже. У почтовых клиентов также будут кучи сигналов. Если что-то выглядит неправильно, тем не менее, сперва проверьте настройки приложения, насколько часто оно обновляется. Если приложение настроено на обновление каждый час, но запустило 400 сигналов за последние 30 минут, избавьтесь от этого паразита и напишите разработчику. Вы не можете устранить этот вэйклок, и он может быть всегда #1 PWL, но вы можете его минимизировать.
Отдельное замечание по поводу этого вэйклока: с ним Вы получите все виды бешеных цифр. Он может занимать до 20 мин в полуторачасовой промежуток жизни батареи. Вы захотите убить этот вэйклок, и убить его огнём. Нет, остановитесь! Сравните время своего глубокого сна и время бодрствования с включенным экраном. Да, возникают сомнения, значение несколько меньше, чем эти 20 мин, которые показывает вэйклок. Ваше время бодрствования при включенном экране составляет 3 мин. В чем причина такой разницы? Ну, известно, что есть вэйклоки, особенно PWL, которые будут удерживать Ваше устройство в состоянии бодрствования, даже если оно уже пробудилось: то есть, PWL регистрируется, когда экран включен. Сигналы, определенно, являются такими вэйклоками, поскольку они предназначены для пробуждения устройства, и это будет первой вещью, которую они попытаются сделать и будут делать. Есть подозрения, что эта разница в показаниях кроется в способе составления отчетов программой BBS. Каждый сигнал высчитывается отдельно, поэтому, если у Вас происходят два сигнала в одно и то же время, и они длятся 2 минуты каждый, BBS зарегистрирует 4 мин вэйклока, хотя на самом деле длительность бодрствования составила 2 мин. Есть смысл? Возможно, его и нет, но это лучшее объяснение, которое имеется, и цифры, похоже, это подтверждают.

MediaScannerService: это вэйклок, созданный системой, сканирующей Ваше устройство на предмет музыки, фильмов, картинок и т.д. Время от времени, он будет периодически включаться и держать телефон на 384 MГц некоторое время…ну…пока вы это не заметите и что-нибудь с этим не сделаете. Как и AudioOut_1, это сильно влияющий на батарею вэйклок. К счастью, как и AudioOut_1, его почти что легко устранить. Замечание по поводу данного вэйклока: это периодическая, но серьёзная проблема на прошивках Jellybean. Пока полностью неизвестно почему и как избавиться от него навсегда. К слову, haloeight удалось на своем телефоне заставить его покориться.
Для устранения: перезагрузка. В девяноста девяти или около того случаях из ста, это решает проблему. Если проблема остается, идите в Настройки -> Приложения -> Работающие, затем нажмите на «Показать процессы в кэше». Найдите процесс Media и остановите его вручную, чтобы убить вэйклок. Это кратковременное решение, хотя, постоянный вэйклок этого процесса в большинстве своем может свидетельствовать о наличии где-то в телефоне испорченного медиафайла –или что у Вас много звуков, фильмов или изображений. Это один из немногих вэйклоков, которые, если являются регулярной проблемой, оправдывают полный вайп и чистую установку. Это не из-за того, что телефону наносится какой-то вред, больше потому, что просеивать каждый медиафайл на Вашем телефоне, чтобы найти виновного, не очень-то практичное решение. Если у Вас имеется постянный вэйклокна прошивке JB, попробуйте метод haloeight.
Метод haloeight:
1. Поиск всех файлов .nomedia с помощью ES File Explorer & SD Maid и при подключении к PC –различными методами можно найти разные файлы. Удаление найденных. Также удаляем любые файлы .db в data/data/com.android.providers.media/databases
2. Удаляем пустые директории от удаленных приложений с помощью SD Maid или похожих программ, если от них осталось что-то, вызывающее проблему.
3. Настройки -> Приложения -> Все -> Удалить данные для следующих
Download Manager
Downloads
DRM Protected Content Storage
Media Storage
Gallery
Google Services Framework
Другие имеющие отношение к медиа приложения
4. Заморозить в TiBu:
Android Live Wallpaper
Clock
Face Unlock
Gallery
Live Wallpaper
Messaging
News & Weather
NFC Service
Tags
TalkBack
Unicorn Porn
Xperia S
Xperia Home
Xperia Home Preferences
Xperia Keyboard
5. Перезагрузиться в рекавери, очистить кэш и Дэлвик кэш.
6. Перезагрузиться, подождать 20 minutes, пока Media Scanner всё пересканирует. Зарядить телефон до 100 — Media Scanner больше не бесчинствует, но после перезагрузки отмечается, что изначально он всё равно более активен на JB, чем на ICS.

SyncLoopWakeLock: это то, как оно и звучит; Ваш телефон удерживается в режиме бодрствования, пока приложения синхронизируются. Для него есть две возможные причины: синхронизация приложений и плохая связь.
Для устранения: Откройте BBS. Нажмите меню, затем «More (Ещё)», затем » Raw Network Stats (Необработанная статистика сети)». Это покажет, какие приложения в основном использовали сеть, и поможет выявить возможных виновников. Сделав это, проверьте настройки данных приложений и убедитесь, что они не посылают постоянно пуш-уведомления, обновляются каждые пять минут или делают ещё какую-нибудь подобную чушь. Если они настроены верно и всё равно удерживают синхронизацию слишком долго, попробуйте скачать приложение Speed Test из Play Store и проверить соединение Вашего телефона. Если соединения медленные, возможно, что приложения сражаются за синхронизацию из-за плохого качества соединения для передачи данных. Попробуйте прошить другие радиомодули и посмотреть, решит ли это проблему. Если проблемные приложения ведут себя так же и после того, как Вы нашли лучшее радио, лучше удалить или заморозить их.

ActivityManager family: это безопасный вэйклок. Типичной причиной является неполный выход из приложений перед отключением экрана.
Для устранения: не беспокойтесь о нем сильно. Если же он для Вас имеет значение, убедитесь, что Вы полностью выходите из приложений (т.е., используете кнопку назад для выхода или принудительное завершение в таск-менеджере) перед выключением экрана. Спасибо XDA Wiki за этот вэйклок, он один из тех PWL, которые автор не мог описать промто потому, что едва его замечал, используя для выхода из приложений кнопку назад.

GTALK_ASYNC_CONN family: несмотря на свое название, непохоже, что этот вэйклок напрямую связан с Google Talk. Откуда это известно? У автора не было Google Talk на телефоне около месяца, но этот вэйклок время от времени всё равно вылазил. Вэйклок, похоже, связан и с плохим соединением wifi, так что следите за этим тоже. Эти вэйклоки могут быть абсолютными разрушителями батареи, если им дать шанс, и, к сожалению, для них нет видимой причины и нет надёжного способа от них избавиться.
Для устранения: эти вэйклоки часто исчезают где-то через минуту после их возникновения. Если какой-то из них проявляется постоянно, проверьте wifi/передачу данных и убедитесь, что они в порядке. Если это не помогает, перезагрузитесь в рекавери и сделайте вайпы кэша и Дэлвик кэша. Это временно решает проблему, но она вернется. Спасибо, Google.

NetworkLocationLocator: какое красивое имя для такого милого вэйклока. Впрочем, ничего особенного в этом вэйклоке нет. Если он появляется, значит Вы в районе с плохим покрытием сети и недостатком поддерживающих карты Google сетей Wifi.
Для устранения: а зачем, спрашивается, Вы держите определение местоположения включенным всё время?

NetworkLocationCallbackRunner: спасибо clankfu и mw86 за указание на этот вэйклок, и огромное спасибо promiseofcake за решение. Это первый вэйклок, опубликованный здесь, не являющийся специфичным для Skyrocket; это проблема S3. Ура, мы перешли на глобальный уровень! NetworkLocationCallbackRunner – это ещё один вэйклок, вызванный самым замечательным приложением, карты Google. Если вы его ещё используете, но серьёзно, зачем?
Для устранения: после включения телефона, не открывайте каоты Google или что-то ещё, используещее данные местоположения Google. Или, знаете что, Вы можете просто удалить карты Google т использовать альтернативную программу…детали ниже.

show keyguard: это новый вэйклок. Нет, он существовал всегда, но при смене прошивок, он вдруг стал вылазить наружу. Не в огромных количествах, но достаточно, чтобы начать чесать в затылке. Уже стало очевидно, что установки экрана блокировки не показывать информацию пользователя, погоду или календарь существенно уменьшат его. Можно попытаться добавлять эту информацию по одному, добавлять слайдеры на локскрин – вреда от этого не будет. Чем больше людей будут пробовать это, тем точнее будет понятие этого вэйклока.
Для устранения: тестируются различные возможности, но лучше всего работает отключение показа информации пользователя, календаря и погоды. Похоже, что это заставляет телефон пробуждаться для обновления, что и создает вэйклок. Исходя из последних исследований, это может быть причиной большой утечки.

Chekin Service: спасибо epapsiou за находку и подтверждение догадок автора. Этот вэйклок, будучи процессом служб Google, похоже, вызван Facebook. Это и подтверждает теорию, что Facebook «берет взаймы» службы Google.
Для устранения: удалите Facebook и используйте альтернативное приложение, или же выходите в Facebook через Ваш мобильный браузер.

SCREEN_FROZEN: ох, блин.
Для устранения: если это появилось в списке, у Вас проблемы похуже, чем вэйклок.

АГРЕССИВНЫЕ ПРИЛОЖЕНИЯ, ВЫЗЫВАЮЩИЕ PWL

Ниже будет приведён список приложений, вызывающих серьёзные PWL, и что с ними делать.

Заметка об удалении встроенных приложений Google: Встроенные приложения Google – это, зачастую, системные пакеты, и их удаление может привести к непредсказуемым результатам. Рекомендуется заморозить их в Titanium Backup на несколько дней, чтобы посмотреть, как без них работает телефон, после чего можно и удалять. Удаление системных процессов особенно опасно, берите на себя ответственность за Ваши решения.

Facebook: любое приложение социальных сетей желает синхронизироваться как можно чаще, но Вы можете управлять этим, установив интервал обновления. Но дело в чём, Facebook не уважает эти интервалы, и пробуждает устройство для обмена данными почти постоянно (даже если новости обновляются каждый час или тогда, когда Вы этого хотите). Это приложение не лучше, чем болезнь, и относиться к нему надо так же.
Альтернативные приложения: Friendcaster и Fast являются отличными альтернативами, позволяющими установить, насколько часто они будут пробуждаться, однако можно просто выходить на m.facebook.com через браузер телефона.

Gmail: суть всей этой темы в том, что если существует эквивалент гугловского приложения, возможно, стоит прикончить Google и скачать этот эквивалент. Gmail – это друг сигналов, и один из главных виновников проблемы с излишним SyncLoopWakeLock.
Альтернативные приложения: сколько существует почтовых клиентов? Прекрасно работают стоковый Email, хорошими альтернативами являются K-9, Kaiten, MailDroid, даже Enhanced Email и Touchdown для продвинутых пользователей. На вкус и цвет…

Какой бы почтовый клиент Вы ни использовали: почтовые клиенты всегда будут вверху списка сигналов, это их природа. Следите за необработанной статистикой сети, насколько долго длятся их соединения, не бойтесь экспериментов. Автор пробовал K-9, Kaiten and MailDroid до того, как установить стоковый Email , предоставивший наилучший баланс между жизнью батареи и необходимыми функциями.
Альтернативные приложения: скачивайте и пробуйте различные клиенты, пока не найдете тот, который подходит именно для Вас. Без труда не выловишь и рыбку, правильно?

Google Latitude: это навигационная служба. Будучи таковой, она следит за Вами. Помимо этого гадкого аспекта, она при этом достаточно часто держит телефон в режиме бодрствования. Убейте её. Убейте её огнём.
Альтернативные приложения: автор в данную тему особо не вникал, но слышал, что Glympse неплохо работает.

Google Maps: колоссальный ущерб памяти и батарее. Вы можете это исправить. Важное замечание по картам Google: это приложение будет пробуждать устройство, даже ели его заморозить Titanium Backup. Неизвестно, почему это происходит, но это так. Для полного решения проблем с сигналами Google Maps, нет другого выбора, как удалить их. Делайте это на свой страх и риск.
Альтернативные приложения: есть Waze для навигации и MapQuest для интерфейса, близкого к Google Maps. OSMAnd также является хорошей альтернативой, но использует тонны памяти из-за своей оффлайновой натуры.

Google Play Music & Movies: постоянно себя обновляют и создают вэйклоки. Если их заморозить, они всё равно каким-то образом сообщают Вам, что доступно обновление. Это зомби Google.
Альтернативные приложения: есть буквально 100+ плейеров музыки и фильмов на стороне. Вы сможете найти то, что Вам нужно. Автор является фанатом RocketPlayer для музыки, а для видео использует стоковый проигрыватель.

JuiceDefender: что тут сказать? JD вызывает тонны сигналов и удерживает бодрствование больше времени, чем это стоит обсуждать, в большей степени из-за своих установок. В общем, больше вреда, чем добра.
Альтернативные приложения: основной задачей JuiceDefender, на самом деле, является минимизация времени бодрствования Вашего устройства. Ну а, если Вы уже прошли через это, чтобы избавиться от вэйклоков, нужно ли Вам другое вэйклочное приложение чтобы снова заняться тем, что Вы только что закончили?

Skype: иногда, после звонка, Skype удерживает вэйклок. Это не предусмотрено программой, и это больше глюк приложениея, чем принудительная синхронизация. Помогает принудительная остановка и очистка кэша приложения, если такие вэйклоки случаются.
Альтернативные приложения: без понятия. Замены, похоже нет.

World Weather Clock Widget: у Вас есть это на телефоне? Избавьтесь. Автор установил это в качестве альтернативы виджету SiMi Clock, и, при всём своём милом виде, он игнорирует настройки «Обновлять каждые 3 ч» и пытается обновляться 275 раз за этот 3-х часовой промежуток. Это привело AlarmManager, GSYNC_ACONN, и NetworkStats в дикий ужас, и при 82% глубокого сна 6% батареи ушло за 3 часа. Убейте его. Убейте пылающим ядерным взрывом.
Альтернативные приложения: SiMi Clock хорошее приложение, но сейчас есть сотни различных часовых виджетов.

Таков итог исследований автора по очистке вэйклоков. Помните, что ранее он сказал, что, поисковик браузера является третьим инструментом? Просто факт, что автор не устанавливал все приложения на планете, соответственно не видел и все существующие PWL. А настройки его телефона не позволяют ему знать, что существуют KWL, которые он также никогда не видел и не увидит. Если вы нашли хитрый вэйклок, который не уходит и вызывает значительный расход батареи, Google (или Bing, или Ask.com, или что-то ещё) Вам в помощь. Удачи, хорошей охоты, и наслаждайтесь дополнительной жизнью батареи, которую вы получите, проведя пару часов на протяжении нескольких дней, отслеживая и уничтожая вэйклоки.

Также зайдите на форум Jrockttu’s об увеличении жизни батареи, там куча нужной информации.

Дополнительные ссылки по тексту. Если какие-то из этих постов помогли Вам, пожалуйста. Нажмите на ссылку ниже и поблагодарите автора.
DoctorQMM занимается проблемой com.google.android.apps.maps, альтернативным решением для AudioOut_1 и использованием CPU Spy для отслеживания вэйклоков.
kishke отслеживает альтернативные причины вэйклоков семейства sdio family (iвключая sdio_al) и выкладывает их для нас.
polarbearno делится своим опытом работы с семейством mmc_detect.
haloeight дает нам хорошие советы по избавлению от вэйклока MediaScannerService на прошивках, основанных на AOKP.
promiseofcake решает специфичную для S3 проблему с NetworkLocationCallbackRunner PWL.
Примечание:
Очень интересная тема, может, она затрагивает больше специфику Galaxy SII. чем других телефонов, но полезна, по сути, всем пользователям Андроид. К сожалению, перевести все 37 страниц я не в состоянии, я и с этим-то уделался донельзя. Это только шапка. Ещё пару вэйклоков я добавил с другого форума и описание из Википедии. Увы, допустим, mipi_link у меня является ведущим потребителем, но ничего с ним сделать я не могу. Менял и ядра, и прошивки, удалял приложения, даже выходил из гугловского аккаунта. А информация в сети, как видите, скудная. Надеюсь, по другим вэйклокам информация пригодится.

Оригинал

Поделиться ссылкой:

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *