Hoe u ADB kunt gebruiken om apps te controleren die op de achtergrond worden uitgevoerd

Achtergrond-apps en -processen zijn essentieel voor het goed functioneren van Android-apparaten. Sommige apps draaien op de voorgrond en zijn merkbaar voor gebruikers, terwijl andere heimelijk op de achtergrond draaien. In deze zelfstudie worden alle werkende ADB-opdrachten onderzocht waarmee u apps kunt controleren die op de achtergrond en voorgrond worden uitgevoerd op Android-apparaten.

Zodra u de lijst met actieve apps en processen, hun PID en CPU- en geheugengebruik heeft, kunt u identificeren welke apps en processen moeten worden gestopt.

Voordat u echter opdrachten uitvoert, moet u eerst ADB op uw computer instellen en USB-foutopsporing op uw Android inschakelen.

Lijst met alle achtergrondapps en -processen

Er is een eenvoudige maar krachtige ADB-opdracht om alle achtergrondprocessen op een aangesloten Android-apparaat weer te geven. (PID betekent proces-ID)

adb shell ps
or
adb shell ps -A

U kunt ook de volgende opdracht gebruiken om alle actieve activiteiten op uw Android-apparaat weer te geven.

CPU- en geheugengebruik voor apps controleren

Detopcommando wordt in Linux gebruikt om een ​​realtime beeld te krijgen van de lopende systeemprocessen. Android is gebaseerd op Linux en ondersteunt deze opdracht ook.

Open de ‘platform-tools' map die de ADB- en Fastboot-stuurprogramma's bevat. Typ “powershell” in de adresbalk van de map en druk op Enter om een ​​opdrachtvenster met het bijbehorende pad te openen.

Verleng de schermtime-out van uw telefoon tot 5-10 minuten en sluit deze via een USB-kabel aan op uw computer. Voer nu het volgende commando uit.

adb shell

Na de$teken, typ ‘bovenkant' en druk op Enter.

U kunt ook de onderstaande opdracht gebruiken.

adb shell top

Het is ook mogelijk om de 5, 10 of een willekeurig aantal van de meest CPU-intensieve processen op uw Android-apparaat weer te geven.

adb shell top -m 10

Als u de meest actieve processen wilt sorteren op geheugen- en CPU-verbruik, gebruikt u de volgende opdrachten.

Sorteer op geheugengebruik:adb shell top -s 6

Sorteer op CPU-gebruik:adb shell top -s 9

Net als andere ADB-opdrachten kan deze opdracht met bepaalde variabelen worden gebruikt om meer specifieke informatie te verkrijgen.

  • -h: Gebruik grafieken in plaats van tekst
  • -k: Terugval sorteervelden (standaard -S,-%CPU,-ETIME,-PID)
  • -o: Velden tonen (def PID, Gebruiker, PR, NI, VIRT, RES, SHR, S,%CPU, %MEM, TIME+, CMDLINE)
  • -s: Sorteren op veldnummer (1-X, standaard 9)
  • -b: Batchmodus (geen tty)
  • -d: Vertraging in seconden tussen elke cyclus (standaard 3)
  • -m: Maximaal aantal taken dat moet worden weergegeven
  • -n: Sluit af na een aantal iteraties
  • -p: Toon deze PID's
  • -u: Toon deze gebruikers
  • -q: Stil (geen kopregels)
Example: adb shell top -n 1

ADB kan u ook helpen controleren hoeveel geheugen uw apps in beslag nemen.

adb shell dumpsys meminfo

Gebruik van de batterijparameter met dedumpsyskunt u de status, capaciteit en het aantal oplaadcycli van de batterij controleren.

Topactiviteit verkrijgen op Android

ADB kan ook de bovenste voorgrondactiviteit met zijn PID vermelden en het lopende proces beëindigen.

Voer de volgende opdracht uit in het opdrachtvenster.

adb shell "dumpsys activity | grep top-activity"

Dit geeft je de topactiviteiten met de pakketnaam en PID van de Android-app. U kunt de PID gebruiken om het proces te beëindigen.

"kill <PID>"

Als alternatief kunt u de volgende ADB-opdracht gebruiken om een ​​proces te beëindigen via zijn PID.

adb shell kill <PID>

Probeer het volgende om de PID van een specifieke app te vinden aan de hand van de pakketnaam.

adb shell pidof <package-name>

U kunt ook de momenteel actieve app controleren met de onderstaande opdracht.

adb shell dumpsys activity | awk -F '[ /}]' '/mCurrentFocus/{print $9}'

Ontvang de lijst met de meest recent gebruikte apps

U kunt onlangs geopende apps eenvoudig controleren door op het App Switcher-pictogram op de navigatiebalk te tikken. Als alternatief kunt u de recente apps en hun huidige activiteit met minutieuze details weergeven met behulp van de volgende ADB-opdrachten.

adb shell dumpsys activity recents

De volgende opdracht geeft u een compactere uitvoer.

adb shell dumpsys activity top | grep "ACTIVITY"

Om de momenteel actieve voorgrond-app of -activiteit te krijgen, kunt u de bovenstaande opdracht gebruiken, zoals hieronder weergegeven.

adb shell dumpsys activity top | grep "ACTIVITY" | tail -n 1

Controleer of een app actief is en stop deze

ADB heeft ook een opdracht om een ​​actieve app of proces te vinden en deze via ADB te beëindigen om de batterij op Android te sparen.

  1. Open een opdrachtpromptvenster op uw computer en sluit uw apparaat aan met behulp van een USB-kabel.
  2. Voer de volgende opdracht uit om de Shell.
    adb shell
  3. Typ nu de onderstaande opdracht om te controleren of een specifieke app op de achtergrond actief is.
    ps -A | grep <package-name>
  4. Als de app op de achtergrond actief is, toont ADB de gebruikers-ID, PID en geheugengebruik.
  5. Je kunt de app doden of stoppen met de volgende opdrachten.
    • am kill <package-name>
    • am force-stop <package-name>
  6. Om te controleren of de achtergrondapp met succes is afgesloten of gestopt, voert u de volgende opdracht opnieuw uit.
    ps -A | grep <package-name>
  7. Deze keer zou u een lege uitvoer moeten krijgen.
  8. Dat is alles.

Er is nog een commando dat apps veilig doodt, zoals het Android-besturingssysteem doet wanneer het bronnen nodig heeft. Omdat het commando gebruiktxargs, werkt het mogelijk niet op Windows

adb shell "ps | grep <package-name> | awk '{print $2}'" | xargs adb shell "run-as <package-name> kill"

Open de pagina Recent en sluit apps

Wanneer u apps op uw Android-apparaat gebruikt, worden deze toegevoegd aan de pagina Recent, zodat u er snel tussen kunt schakelen. Sommige van deze apps blijven mogelijk op de achtergrond actief. U kunt de recent gebruikte apps op Android bekijken door op te tikkenApp-switcherop de navigatiebalk en sluit ze met behulp van deSluit allesofAlles wissenoptie.

Als alternatief kunt u dezelfde actie rechtstreeks vanaf uw computer simuleren via ADB-opdrachten.

  1. Sluit uw Android-apparaat aan op uw computer, start een opdrachtvenster en geef de volgende opdracht om te openenRecent.
    adb shell input keyevent KEYCODE_APP_SWITCH
  2. Wanneer het scherm Recent geopend is op uw apparaat, voert u de volgende opdracht tweemaal één voor één uit. Als u dit doet, wordt de app in focus gemarkeerd en vervolgens deSluit allesknop.
    adb shell input keyevent KEYCODE_DPAD_DOWN
    adb shell input keyevent KEYCODE_DPAD_DOWN
    
  3. Voer ten slotte de volgende opdracht in om het gemarkeerde item te selecteren.
    adb shell input keyevent KEYCODE_ENTER

    VERWANT:Hoe u kunt uitschakelen dat het YourPhone.exe-proces op de achtergrond wordt uitgevoerd

  4. Hiermee worden alle apps uit deRecentscherm.

Controleer achtergrondapps via ADB

Je zult verrast zijn als je het enorme aantal achtergrondactiviteiten en -processen op een Android-telefoon of -tablet ziet. Om te voorkomen dat u overweldigd raakt, probeert u de volgende opdracht om de apps weer te geven die op de achtergrond op uw Android-apparaat worden uitgevoerd.

adb shell dumpsys activity activities
adb shell dumpsys activity services

Probeer dit om de lijst met huidige activiteiten op te halen:

adb shell dumpsys activity activities | grep mActivityComponent | cut -d= -f2 | sort -u -m

Ik heb de ADB-opdrachten getest om te controleren welke apps op de achtergrond en voorgrond draaien op de Samsung Galaxy S24 Ultra met One UI 7. Probeer ze om te zien of ze werken op jouw apparaat.

Related Posts