Heb je je ooit afgevraagd waarom je Android-telefoon je batterijduur zo snel opslokt als het scherm is uitgeschakeld? Wakelocks! Hier is een tutorial over hoe je wakelocks kunt stoppen!
Ben je ooit 's nachts gaan slapen met een volledig opgeladen telefoon, om vervolgens wakker te worden met een bijna lege batterij? Maak je geen zorgen, het is ons allemaal overkomen. Zelfs met Doze-modus en alles De inspanningen van Google om de levensduur van de batterij te verbeteren op Android is de batterijduur bij inactiviteit niet bepaald ideaal. Vooral als je veel apps hebt geïnstalleerd. De boosdoener is hoogstwaarschijnlijk een zich misdragende wakelock van een app als Facebook, Messenger, Snapchat, noem maar op. Gelukkig kun je deze wakelocks eenvoudig stoppen met eenvoudige shell-opdrachten. En daar heb je niet eens root voor nodig! Vandaag laten we u zien hoe u dat kunt stop wakelocks vanuit elke Android-app zonder root te gebruiken. Dit kan op elke Android-telefoon, zolang je ADB hebt.
Stop Wakelocks vanuit elke Android-app
Video-tutorial van ons YouTube-kanaal als u de voorkeur geeft aan een visueel hulpmiddel
Voordat u ergens mee begint, moet u ADB zowel op uw telefoon als op uw computer instellen. Als u dit nog niet heeft gedaan, raadpleeg dan deze les om jezelf op te stellen.
Tenzij je er helemaal zeker van bent waardoor je batterij leegraakt, gaan we een kleine tool genaamd "Better Battery Stats" gebruiken om de boosdoener te vinden. De ontwikkelaar is actief op onze forums, dus je kunt de app vinden hier. Als u de ontwikkelaar echter wilt ondersteunen, kunt u deze ook downloaden via de Google Play Store, waar het een betaalde applicatie is. Het biedt veel andere statistieken, zoals CPU-statussen, app-wake-ups en netwerkinformatie.
Prijs: 1,99.
4.
Het vereist rooten op apparaten met Android KitKat en hoger, maar er is een oplossing voor ADB-opdrachten voor niet-geroote apparaten. Sluit uw apparaat aan op uw computer, via USB-foutopsporing of WiFi-foutopsporing. Zorg ervoor dat deze is verbonden met behulp van de opdracht:
adb devices
Vervolgens gaan we de Android-shell starten met behulp van de volgende opdracht:
adb shell
Daarna gaan we de zojuist geïnstalleerde BetterBatteryStats de BATTERY_STATS-toestemming verlenen met:
pmgrantcom.asksven.betterbatterystats_xdaeditionandroid.permission.BATTERY_STATS
Klaar! Nu werkt BBS op uw niet-geroote apparaat.
Opmerking: als u Better Battery Stats in de Google Play Store heeft gekocht, wijzig dan "com.asksven.betterbatterystats_xdaedition" in gewoon "com.asksven.betterbatterystats" in de bovenstaande ADB-opdracht.
Het vinden van de dader
Je hebt veel applicaties op je telefoon, dus er is geen gemakkelijke manier om met zekerheid te weten wat je batterij verbruikt. Daarom gebruiken we Better Battery Stats om de verantwoordelijke wakelock te vinden. Nadat u de app heeft ingesteld, laadt u uw telefoon op, koppelt u deze los en laat u hem minimaal 30 minuten met rust terwijl het scherm is uitgeschakeld. Dit zou de app voldoende tijd moeten geven om alles te registreren. Eenmaal in de app selecteert u Gedeeltelijke Wakelocks en ziet u welke applicatie de meeste schade veroorzaakt.
Het stoppen van de Wakelock
Nu we weten wat uw batterij verbruikt, kunnen we er een einde aan maken. In ons geval is dat Snapchat. Wat uw boosdoener ook is, zorg ervoor dat u de pakketnaam van de applicatie vindt met behulp van Package Name Viewer uit de Play Store, omdat we deze nodig hebben voor onze ADB-opdracht hieronder.
Prijs: gratis.
4.5.
Omdat je duidelijk je telefoon hebt losgekoppeld om Better Battery Stats te gebruiken, sluit je hem weer aan op je computer om ADB weer te gebruiken. Controleer nogmaals of deze goed is aangesloten
adb devices
En voer de shell in met behulp van:
adb shell
Gebruik nu de pakketnaam van uw doel-app en verzend de volgende opdracht:
cmdappopssetcom.android.applicationWAKE_LOCKignore
Natuurlijk ga je "com.android.application" omschakelen met de pakketnaam van je applicatie. In mijn geval:
cmdappopssetcom.snapchat.androidWAKE_LOCKignore
Als je alle stappen correct hebt uitgevoerd, worden alle wakelock-verzoeken van de app genegeerd door het Android-systeem. Gefeliciteerd!
Uitleg
Een wakelock is, in termen van de leek, slechts een manier voor een app om de CPU/het scherm/andere dingen wakker te houden wanneer de telefoon inactief is om een specifieke achtergrondtaak uit te voeren. Sommige apps hebben terecht wakelocks nodig om goed te kunnen functioneren, maar het probleem ontstaat wanneer sommige applicaties wakelocks bevatten herhaaldelijk, houd ze lange tijd vast zonder ze te laten vallen, of voer buitensporige/onnodige netwerk- en CPU-taken uit en profiteer hiervan wakelocks.
Een voorbeeld: apps zoals Snapchat, Facebook, Messenger of andere sociale media-apps bevatten wakelocks die zich misdragen. Deze tutorial is eenvoudigweg een manier om te voorkomen dat deze wakelocks opnieuw optreden zonder de app te verwijderen. Als u echter merkt dat de app niet meer correct functioneert nadat u deze ADB-opdracht hebt gebruikt, kunt u de zaken terugzetten naar de zoals ze waren door de opdracht opnieuw uit te voeren en "negeren" te veranderen in "toestaan", of door eenvoudigweg de app te verwijderen en vervolgens opnieuw te installeren opnieuw.