Какво представляват Android Wakelocks и как да ги поправим
Miscellanea / / December 02, 2021
Някога лягали ли сте да спите с вашия Батерията на Android е достатъчно заредена, но сутринта сте се събудили от напълно изтощен телефон? Ако отговорът е „да“, може да сте засегнати от приложения за wakelock, инсталирани на вашия смартфон. Разбира се, това може да се дължи и на лошо здраве на батерията. Но сценарии за блокиране на системата, поради лошо работещи приложения които използват ресурсите на телефона ви и изтощават живота на батерията, може да се случи дори на здрави устройства.
![Млад мъж прави жест за сън](/f/adc90a8ca1d17529b33b1c58193fb36e.jpg)
За да разберем по-добре проблема, ще разгледаме какво представляват wakelocks, когато става въпрос за Android и как можем да открием и коригираме проблема за по-добър живот на батерията.
Какво представляват Wakelocks?
Когато натиснете бутона за захранване на телефона си, за да заключите екрана, предполагате, че телефонът ще заспи. Но това не винаги е така. Има приложения, които работят във фонов режим, като използват ресурсите на устройството и ограничават преминаването на телефона в режим на дълбок сън. Поради това процесорът на телефона работи постоянно, което изтощава живота на батерията, дори когато не го използвате. Повечето от тези wakelocks са причинени, защото приложенията искат да синхронизират данни на заден план или да използват услуги за местоположение.
![Статистика на батерията 2](/f/9c8a9dd04ad8af0a7be84a033bf62348.png)
Ето защо приложенията, които поддържат вашия процесор да работи дори след като телефонът ви е в режим на заспиване, се наричат приложения за wakelock. Тези приложения обаче не са изцяло виновни. Тези wakelocks са необходими, ако искате да видите актуализирана входяща поща сутрин. Приложенията използват разрешението за синхронизиране на данни със сървърите, което понякога продължава само няколко минути.
![Статистика на батерията 1](/f/dcdb0c99322516189fab8efcb9db6ac5.png)
Проблемът започва, когато някои приложения използват това разрешение за един час и карат процесора на телефона ви да функционира непрекъснато. Вземете например услугите на Google Play. Ако местоположението ви е активирано, услугата ще поддържа процесора на телефона ви буден почти през цялата нощ и ще намали драстично живота на батерията.
Сега, когато знаем какво представляват wakelocks, нека видим как можем да открием приложенията, които го причиняват.
Забележка: Тъй като ще имаме нужда от повишени разрешения, за да извлечем тези данни, е необходим root достъп. Без root разрешения на вашето устройство, страхувам се, че не можете да направите много по въпроса с wakelock. Но в днешно време е лесно да руутвате устройство, така че не забравяйте да маркирате тази страница и да се върнете към нея, след като разберете как да руутвате своя Android (и също да го руутвате).
Откриване на приложения, които причиняват Wakelocks
Откриването на wakelocks е доста лесно, след като имате руут телефон. Заредете напълно батерията си до 100% и инсталирайте приложение, наречено Wakelock детектор, на устройството. След като направите това, рестартирайте телефона си веднъж и стартирайте приложението. Wakelock Detector ще поиска root достъп и ще работи във фонов режим, като събира данни.
![Wakelock детектор 3](/f/7d26b42757627ec4142193c611e8be7c.png)
![Wakelock детектор 2](/f/07e17e5a5be79aeec280d36fbb6d58d5.png)
Върнете се в приложението след няколко часа и ще можете да видите общото време, през което вашите приложения са поддържали процесора да работи във фонов режим. Можете също да проверите колко пъти дадено приложение е задействало wakelock.
![Wakelock детектор 4](/f/8f913641121953d3672f288652431987.png)
![Wakelock детектор 1](/f/f1c9a098b635ec3a6f1db796fc8eca7c.png)
Разрешаване на проблема
Така че сега, когато знаем приложенията, които причиняват тези wakelocks, една от най-простите опции би била да деинсталирате приложението и да намерите по-добра алтернатива в Play Store. Но има системни приложения като Google Play Services, които не можете да деинсталирате. Тези приложения са необходими за функционирането на телефона.
![Увеличете 2](/f/77fb2fc1a25e3846c67c5b8c5128d9ba.png)
![Увеличете 1](/f/609ae367b2d9b2975fb51f9d49d828dd.png)
За да проверявате такива приложения, можете да инсталирате файл Xposed модул, наречен Amplify. Amplify е основно приложение за пестене на батерия за Android, но за разлика от други, то има модул за ограничаване на заявките за wakelock от различни приложения, инсталирани на вашата система. Изберете Wakelock опция от дясната навигационна лента. Изберете разрешението, което искате да ограничите, и посочете благоприятен период от време. Приложението също така предоставя препоръчителна настройка за отстраняване на проблема.
![Увеличете 3](/f/43b495cdebcc54f8a5db4d4a488e7fcd.png)
Заключение
Това беше почти всичко за wakelocks на Android и как да коригирате проблемите с батерията, които могат да причинят. Хората, които изпитват голямо изтощение поради услугите за местоположение на Google, работещи във фонов режим, трябва да го изпробват. В случай на объркване или за допълнително обяснение, просто пуснете коментар и ще се радваме да помогнем.