Що таке Android Wakelocks і як їх виправити
Різне / / December 02, 2021
Ви коли-небудь лягали спати зі своїм Акумулятор Android достатньо заряджений, але вранці прокинувся від повністю розрядженого телефону? Якщо відповідь ствердна, на вас можуть вплинути програми wakelock, встановлені на вашому смартфоні. Звичайно, це також може бути пов’язано з тим поганий стан батареї. Але сценарії системного wakelock через погано працюють програми які використовують ресурси вашого телефону та витрачають заряд акумулятора, можуть статися навіть на здорових пристроях.
Щоб краще зрозуміти проблему, ми розглянемо, що таке wakelock, коли мова йде про Android, і як ми можемо виявити та виправити проблему для кращого часу роботи акумулятора.
Що таке Wakelocks?
Коли ви натискаєте кнопку живлення на телефоні, щоб заблокувати екран, ви припускаєте, що телефон перейде в режим сну. Але це не завжди так. Існують програми, які працюють у фоновому режимі, використовують ресурси пристрою та обмежують перехід телефону в режим глибокого сну. Через це процесор телефону постійно працює, що споживає заряд акумулятора, навіть коли ви ним не користуєтеся. Більшість цих блокувань викликано тим, що програми хочуть синхронізувати дані у фоновому режимі або використовувати служби визначення місцезнаходження.
Тому програми, які забезпечують роботу вашого ЦП навіть після того, як телефон перебуває в режимі сну, називаються програмами wakelock. Однак ці програми не можна повністю звинувачувати. Ці wakelocks необхідні, якщо ви хочете бачити оновлену скриньку вхідних повідомлень вранці. Програми використовують дозвіл для синхронізації даних із серверами, що іноді триває лише кілька хвилин.
Проблема виникає, коли деякі програми використовують цей дозвіл протягом години і змушують центральний процесор вашого телефону функціонувати весь час. Візьмемо, наприклад, сервіси Google Play. Якщо у вас увімкнено місцезнаходження, служба буде тримати центральний процесор телефону в режимі сну майже всю ніч і різко скорочувати термін служби акумулятора.
Отже, тепер, коли ми знаємо, що таке wakelocks, давайте подивимося, як ми можемо виявити програми, які його спричиняють.
Примітка: Оскільки для отримання цих даних нам знадобляться підвищені дозволи, необхідний root-доступ. Без права root на вашому пристрої, Боюся, що ви не можете нічого зробити з проблемою wakelock. Але отримати root-доступ на пристрої зараз легко, тому не забудьте додати цю сторінку в закладки та повернутися на неї, коли зрозумієте, як отримати root-права на своєму Android (і також рутувати його).
Виявлення програм, які викликають блокування пробудження
Виявити wakelocks досить легко, якщо у вас є рутований телефон. Повністю зарядіть акумулятор до 100% і встановіть програму за дзвінком Детектор Wakelock, на пристрої. Зробивши це, перезавантажте телефон один раз і запустіть програму. Wakelock Detector запитає root-доступ і працюватиме у фоновому режимі, збираючи дані.
Поверніться до програми через кілька годин, і ви зможете побачити загальну кількість часу, протягом якого ваші програми підтримували процесор у фоновому режимі. Ви також можете перевірити, скільки разів програма запускала wakelock.
Вирішення проблеми
Отже, тепер, коли ми знаємо програми, які викликають ці блокування, одним із найпростіших варіантів було б видалити програму та знайти кращу альтернативу в Play Store. Але є системні програми, такі як служби Google Play, які ви не можете видалити. Ці програми необхідні для функціонування телефону.
Щоб контролювати такі програми, ви можете встановити файл Модуль Xposed під назвою Amplify. Amplify — це в основному програма для економії заряду акумулятора для Android, але на відміну від інших, вона має модуль для обмеження запитів wakelock від різних програм, встановлених у вашій системі. Виберіть Wakelock опцію на навігаційній панелі праворуч. Виберіть дозвіл, який ви хочете обмежити, і призначте сприятливий період часу. Додаток також містить рекомендовані налаштування для вирішення проблеми.
Висновок
Це було майже все про wakelocks на Android і про те, як усунути проблеми з акумулятором, які вони можуть викликати. Люди, які відчувають значне споживання через службу локації Google, що працюють у фоновому режимі, повинні спробувати це. У разі будь-якої плутанини або для подальших пояснень, просто залиште коментар, і ми будемо раді допомогти.