Zamrzni procese v ozadju brez korena (Android 7.0+)

click fraud protection

Ta vadnica vam pokaže, kako z uporabo skritega ukaza ADB zamrznete procese v ozadju katere koli aplikacije v sistemih Android 7.0 in 7.1 Nougat brez roota.

Android je vedno veljal za "zmogljivejšo" mobilno platformo v primerjavi z iOS zaradi tega, koliko svobode imajo njegove aplikacije tretjih oseb. To omogoča veliko avtomatizacije preprosto zato, ker lahko aplikacije Android opravijo več nalog, medtem ko tečejo v ozadju. Vendar ima to tudi slabo stran, saj odpira vrata potencialno večji porabi baterije zaradi procesov v ozadju, ki se izvajajo v napravi.

Ena stvar je vedeti, da svoj telefon nalagate z aplikacijami, ki delujejo v ozadju, saj ste pripravljeni žrtvovati del svoje življenjske dobe baterije za prednosti, ki jih prinašajo. Druga zgodba je, če samo prenašate tradicionalne aplikacije, ki niso optimizirane in opravljajo naloge v ozadju, ko jih ne želite ali celo potrebujete. Google si prizadeva popraviti to z vedno več omejitvami glede tega, kaj aplikacije lahko počnejo v ozadje, izdaja Androida O pa prinaša največ omejitev procesov/sprejemnikov v ozadju daleč.

Vendar pa velika večina uporabnikov še več mesecev ne bo videla Androida O na svojih napravah (če sploh). Če pa tečete Android 7.0 ali Android 7.1, obstaja preprost trik, ki ga lahko izvedete ročno preprečite, da bi aplikacija sploh delovala v ozadju - in to ne zahteva korena ali aplikacijo tretje osebe. To je zmogljivejše od tistega, kar ponujajo Greenify ali aplikacije, kot je Brevent, saj so brez korenskega dostopa te aplikacije precej omejene glede tega, kar lahko počnejo. Toda s tem trikom lahko zdaj blokirajte aplikacije, kot sta Facebook ali Hangouts ne da bi kdaj delovali v ozadju - delovali bodo samo, ko se aktivno uporabljajo!


Vadnica za omejitev procesov v ozadju

Zahteve:

  • Naprava Android Nougat (7.0 ali 7.1).
  1. Namestite gonilnike USB za vašo določeno napravo OEM (Google ponuja seznam nekaterih univerzalni gonilniki USB tukaj).
  2. Prenesite ADB binarno za vaš določen OS (Windows, Mac, Linux). Te povezave bodo vedno kazale na najnovejšo različico binarne datoteke.
  3. Ekstrahirajte vsebino datoteke ZIP v lahko dostopno mapo v vašem računalniku.
  4. Pojdite v aplikacijo Nastavitve v telefonu in tapnite možnost O telefonu.
  5. Poiščite številko gradnje in se je dotaknite 7-krat, da omogočite način za razvijalce.
  6. Vrnite se v glavni meni Nastavitve in vnesite Možnosti za razvijalce, da lahko omogočite način odpravljanja napak USB.
  7. Priključite telefon na računalnik in ga spremenite iz načina »samo polnjenje« v način »prenos datotek (MTP)«. To ni potrebno na vsaki napravi, vendar veliko naprav to zahteva kot varnostni ukrep, preden dovoli ADB delovati.
  8. Vrnite se v računalnik in poiščite imenik, kjer ste ekstrahirali dvojiško datoteko ADB.
  9. Zaženite ukazni poziv ali terminal v vašem imeniku ADB. Za uporabnike operacijskega sistema Windows lahko to storite tako, da držite tipko Shift in kliknete z desno tipko miške ter nato izberete možnost »tukaj odpri ukazni poziv«. (Nekateri uporabniki sistema Windows 10 bodo morda videli, da je »ukazni poziv« zamenjan z »PowerShell«.)
  10. Ko ste v okolju ukaznega poziva ali terminala, vnesite naslednji ukaz: adb devices
  11. To bo zagnalo demon ADB, če še ni bil zagnan, samo počakajte, da se konča. Če prvič izvajate ADB, boste na telefonu videli tudi poziv, da odobrite povezavo z računalnikom. Tukaj dovolite dostop za odpravljanje napak USB.
  12. Zdaj, če znova zaženete ukaz adb devices iz 10. koraka, bo ukazni poziv/terminal natisnil serijsko številko vaše naprave. Če je tako, potem ste pripravljeni nadaljevati. Če ne, potem gonilniki USB verjetno niso pravilno nameščeni.
  13. Nato boste morali najti ime paketa za aplikacijo, za katero želite zamrzniti procese v ozadju. To lahko storite tako, da namestite Inšpektor aplikacij aplikacijo na vašem telefonu.
  14. Vrnite se v ukazni poziv in vnesite naslednji ukaz: adb shell
  15. Zdaj izvedite naslednji ukaz, da sprostite procese v ozadju aplikacije: cmd appops set RUN_IN_BACKGROUND ignore
  16. Če želite kdaj razveljaviti spremembo, ki ste jo pravkar naredili, in znova omogočiti procese v ozadju aplikacije, vnesite ta ukaz: cmd appops set RUN_IN_BACKGROUND allow
  17. Vedeli boste, da deluje, če vas vrne k drugemu pozivu lupine ADB in vam ne prikaže sporočila o napaki.

Razlaga

Natančno ta ukaz deluje tako, da vam omogoča, da omejite skrito dovoljenje, ki uporabniku običajno ni dostopno v aplikaciji Nastavitve. To dovoljenje se imenuje dovoljenje RUN_IN_BACKGROUND in edini način, da ga je mogoče spremeniti, je uporaba »cmd appops", ki je vmesnik ukazne vrstice za "App Ops" - Googlov sistem za upravljanje dovoljenj, usmerjen k uporabniku.

Google je dodal ta skriti ukaz ADB, ki vam omogoča, da kateri koli aplikaciji omejite prejemanje implicitnih namenov oddajanja (tj. aplikacija se prebuja v ozadju) in tudi prepreči tem aplikacijam načrtovanje storitev v ozadju brez uporabe JobSchedulerja (tj. aplikacija se zbudi ob nepravem času in prazni vašo baterijo). Ta ukaz je pravzaprav namenjen samo razvijalcem, ki želijo simulirati, kako bi njihova aplikacija delovala v pogojih pomanjkanja pomnilnika, a na srečo ga lahko damo v lastno uporabo.

Z odstranitvijo odvisnosti od storitev v ozadju aplikacije in implicitnih oddajnih sprejemnikov, registriranih v manifestu, lahko razvijalci optimizirajo svojo aplikacijo za boljše delovanje na napravah z malo pomnilnika. Google pravi, da lahko aplikacije, optimizirane za tovrstne naprave ali tiste, ki imajo malo pomnilnika, izboljšajo tako zmogljivost kot tudi uporabniško izkušnjo. Podjetje je objavilo na letošnjem srečanju Google I/O spremenjena različica Androida, imenovana Android Go, ki se bo uporabljal za pametne telefone z zelo malo pomnilnika, zato predvidevamo, da bi bil ta ukaz uporaben za razvijalce, ki ciljajo na to platformo.

Vsekakor je lahko ta ukaz dokaj uporaben za povprečnega uporabnika, vendar pazite, kaj tukaj omejujete. Aplikacije, kot sta Hangouts ali Facebook, se popolnoma nehajo sinhronizirati v ozadju, dokler jih ne odprete. Če je to tisto, kar ciljate, sem prepričan, da vas ne moti. Vendar naj vas ne preseneti, če vaša e-pošta ali sporočila zamujajo, če zaženete ta ukaz v aplikaciji, ki je odvisna od prejemnikov v ozadju.