Frys bakgrundsprocesser utan rot (Android 7.0+)

Den här handledningen visar hur du fryser alla apps bakgrundsprocesser på Android 7.0 och 7.1 Nougat utan root genom att använda ett dolt ADB-kommando.

Android har alltid ansetts vara den mer "kraftfulla" mobila plattformen jämfört med iOS på grund av hur stor frihet dess tredjepartsapplikationer har. Detta möjliggör en hel del automatisering helt enkelt för att Android-applikationer kan utföra fler uppgifter medan de körs i bakgrunden. Detta kommer dock med en nackdel eftersom det öppnar dörren för potentiellt mer batteriförbrukning tack vare bakgrundsprocesser som körs på enheten.

Det är en sak att veta att du laddar upp din telefon med applikationer som körs i bakgrunden eftersom du är villig att offra en del av din batteritid för de fördelar de ger. Det är en annan historia om du bara laddar ner traditionella applikationer som inte är optimerade och som utför uppgifter i bakgrunden när du inte vill eller ens behöver dem. Google har arbetat med att fixa detta genom att lägga fler och fler begränsningar för vad applikationer kan göra i bakgrunden, och lanseringen av Android O ger de flesta begränsningar för bakgrundsprocess/mottagare långt.

De allra flesta användare kommer dock inte att se Android O på sina enheter på många månader från nu (om alls). Men om du springer Android 7.0 eller Android 7.1, det finns ett enkelt knep du kan göra för att manuellt förhindra att ett program någonsin körs i bakgrunden - och det kräver inte root eller en tredjepartsapplikation. Detta är mer kraftfullt än vad Greenify eller appar som Brevent erbjuder, eftersom dessa appar utan root-åtkomst är ganska begränsade i vad de kan göra. Men med det här tricket kan du nu blockera appar som Facebook eller Hangouts från att någonsin köra i bakgrunden - de fungerar bara när de används aktivt!


Handledning för Begränsa bakgrundsprocesser

Krav:

  • Android Nougat (7.0 eller 7.1) enhet
  1. Installera USB-drivrutinerna för din specifika enhets OEM (Google tillhandahåller en lista över några universella USB-drivrutiner här).
  2. Ladda ner ADB binär för just ditt operativsystem (Windows, Mac, Linux). Dessa länkar kommer alltid att peka på den senaste versionen av binären.
  3. Extrahera innehållet i ZIP-filen till en lättillgänglig mapp på din PC.
  4. Gå till appen Inställningar på din telefon och tryck på alternativet Om telefon.
  5. Hitta byggnumret och tryck på det 7 gånger för att aktivera utvecklarläget.
  6. Gå tillbaka till huvudmenyn Inställningar och ange utvecklaralternativ så att du kan aktivera USB-felsökningsläge.
  7. Anslut din telefon till datorn och ändra den från läget "endast laddning" till läget "filöverföring (MTP)". Detta är inte nödvändigt på alla enheter men många enheter kräver detta som en säkerhetsåtgärd innan ADB kan fungera.
  8. Gå tillbaka till datorn och bläddra till katalogen där du extraherade ADB-binären.
  9. Starta en kommandotolk eller terminal i din ADB-katalog. För Windows-användare kan detta göras genom att hålla ned Skift och högerklicka och sedan välja alternativet "öppna kommandotolken här". (Vissa Windows 10-användare kan se "kommandotolken" ersatt med "PowerShell".)
  10. När du är i kommandotolken eller terminalmiljön anger du följande kommando: adb devices
  11. Detta kommer att starta ADB-demonen om den inte redan har lanserats, vänta bara tills den är klar. Om det här är första gången du kör ADB kommer du också att se en uppmaning på din telefon som ber dig att auktorisera en anslutning till datorn. Tillåt åtkomst till USB-felsökning här.
  12. Om du nu kör kommandot adb devices igen från steg 10, kommer kommandotolken/terminalen att skriva ut serienumret för din enhet. I så fall är du redo att gå vidare. Om inte, är USB-drivrutinerna troligen inte korrekt installerade.
  13. Du måste sedan hitta paketnamnet för programmet du vill frysa bakgrundsprocesser. Du kan göra detta genom att installera Appinspektör applikation på din telefon.
  14. Gå tillbaka till kommandotolken och skriv in följande kommando: adb shell
  15. Kör nu följande kommando för att frigöra ett programs bakgrundsprocesser: cmd appops set RUN_IN_BACKGROUND ignore
  16. Om du någonsin vill återställa ändringen du just har gjort och tillåta en apps bakgrundsprocesser igen, skriv in det här kommandot: cmd appops set RUN_IN_BACKGROUND allow
  17. Du vet att det fungerar om det tar dig tillbaka till en annan ADB-skalprompt och inte ger dig ett felmeddelande.

Förklaring

Hur exakt det här kommandot fungerar är att det låter dig begränsa en dold behörighet som normalt inte är tillgänglig för användaren i appen Inställningar. Denna behörighet kallas RUN_IN_BACKGROUND behörighet och det enda sättet den kan ändras är att använda "cmd appops" som är kommandoradsgränssnittet för "App Ops" - Googles användarvänliga behörighetshanteringssystem.

Google lade till detta dolda ADB-kommando som gör att du kan begränsa alla program från att ta emot implicita sändningsavsikter (dvs. appen vaknar i bakgrunden) och förhindrar även dessa applikationer från att schemalägga bakgrundstjänster utan att använda JobScheduler (dvs. appen vaknar vid en olämplig tidpunkt och tar ur batteriet). Det här kommandot är egentligen endast avsett att användas av utvecklare som vill simulera hur deras app skulle fungera under låga minnesförhållanden, men tack och lov kan vi använda det till vår egen användning.

Genom att ta bort beroenden av en apps bakgrundstjänster och manifest-registrerade implicita sändningsmottagare kan utvecklare optimera sin applikation för att fungera bättre på enheter med lågt minne. Google säger att applikationer som är optimerade för den här typen av enheter, eller sådana som har lågt minne, kan förbättra både prestandan och användarupplevelsen. På Google I/O i år meddelade företaget en modifierad version av Android som heter Android Go, som kommer att användas för smartphones med mycket låg minne, så vi antar att det här kommandot skulle vara användbart för utvecklare som siktar på den plattformen.

I vilket fall som helst kan det här kommandot vara ganska användbart för den genomsnittliga användaren, men var försiktig med vad du begränsar här. Appar som Hangouts eller Facebook kommer helt att sluta synkroniseras i bakgrunden tills du öppnar dem, vilket om det är detta du siktar på så är jag säker på att du inte har något emot det. Men bli inte förvånad när dina e-postmeddelanden eller meddelanden blir försenade om du kör det här kommandot på en app som är beroende av bakgrundsmottagare.