Zmraziť procesy na pozadí bez root (Android 7.0+)

Tento tutoriál vám ukáže, ako zmraziť procesy na pozadí ľubovoľnej aplikácie v systéme Android 7.0 a 7.1 Nougat bez root pomocou skrytého príkazu ADB.

Android bol vždy považovaný za „výkonnejšiu“ mobilnú platformu v porovnaní s iOS kvôli tomu, akú voľnosť majú aplikácie tretích strán. To umožňuje veľa automatizácie jednoducho preto, že aplikácie pre Android môžu vykonávať viac úloh, keď bežia na pozadí. To však prichádza s nevýhodou, pretože otvára dvere pre potenciálne väčšie vybitie batérie vďaka procesom na pozadí spusteným na zariadení.

Jedna vec je vedieť, že do telefónu načítate aplikácie, ktoré bežia na pozadí, pretože ste ochotní obetovať časť výdrže batérie za výhody, ktoré prinášajú. Iný príbeh je, ak si len sťahujete tradičné aplikácie, ktoré nie sú optimalizované a ktoré vykonávajú úlohy na pozadí, keď ich nechcete alebo dokonca nepotrebujete. Google pracuje na oprave tohto problému tým, že stále viac a viac obmedzuje, čo môžu aplikácie robiť pozadí a vydanie systému Android O prináša najviac obmedzení procesov/prijímačov na pozadí ďaleko.

Drvivá väčšina používateľov však Android O na svojich zariadeniach neuvidí až o mnoho mesiacov (ak vôbec). Ale ak bežíte Android 7.0 alebo Android 7.1, existuje jednoduchý trik, ktorý môžete urobiť manuálne zabrániť tomu, aby aplikácia vôbec bežala na pozadí - a to nevyžaduje root alebo aplikácie tretej strany. Je to výkonnejšie ako to, čo ponúka Greenify alebo aplikácie ako Brevent, pretože bez prístupu root sú tieto aplikácie dosť obmedzené v tom, čo dokážu. Ale s týmto trikom teraz môžete blokovať aplikácie ako Facebook alebo Hangouts aby vôbec nebežali na pozadí – budú fungovať len vtedy, keď sa budú aktívne používať!


Návod na obmedzenie procesov na pozadí

Požiadavky:

  • Zariadenie Android Nougat (7.0 alebo 7.1).
  1. Nainštalujte ovládače USB pre vaše konkrétne zariadenie OEM (Google poskytuje zoznam niektorých univerzálne USB ovládače tu).
  2. Stiahnite si Binárne ADB pre váš konkrétny OS (Windows, Mac, Linux). Tieto odkazy budú vždy smerovať na najnovšiu verziu binárneho súboru.
  3. Extrahujte obsah súboru ZIP do ľahko prístupného priečinka na vašom počítači.
  4. Prejdite na svojom telefóne do aplikácie Nastavenia a klepnite na možnosť O telefóne.
  5. Nájdite číslo zostavy a 7-krát naň klepnite, aby ste aktivovali režim vývojára.
  6. Vráťte sa do hlavnej ponuky Nastavenia a zadajte Možnosti vývojára, aby ste mohli povoliť režim ladenia USB.
  7. Pripojte telefón k počítaču a zmeňte ho z režimu „iba nabíjanie“ na režim „prenos súborov (MTP)“. Nie je to potrebné na každom zariadení, ale mnoho zariadení to vyžaduje ako bezpečnostné opatrenie pred tým, ako umožní ADB pracovať.
  8. Vráťte sa do počítača a prejdite do adresára, kde ste extrahovali binárny súbor ADB.
  9. Spustite príkazový riadok alebo terminál v adresári ADB. Používatelia systému Windows to môžu urobiť podržaním klávesu Shift a kliknutím pravým tlačidlom myši a výberom možnosti „otvoriť príkazový riadok tu“. (Niektorým používateľom systému Windows 10 sa môže zobraziť „príkazový riadok“ nahradený výrazom „PowerShell“.)
  10. Keď sa nachádzate v prostredí príkazového riadka alebo terminálu, zadajte nasledujúci príkaz: adb devices
  11. Toto spustí ADB démona, ak ešte nebol spustený, len počkajte, kým sa dokončí. Ak používate ADB prvýkrát, na telefóne sa vám tiež zobrazí výzva na autorizáciu pripojenia k počítaču. Tu povoľte prístup ladenia USB.
  12. Ak teraz znova spustíte príkaz adb devices z kroku 10, príkazový riadok/terminál vytlačí sériové číslo vášho zariadenia. Ak áno, ste pripravení ísť ďalej. Ak nie, ovládače USB pravdepodobne nie sú správne nainštalované.
  13. Potom budete musieť nájsť názov balíka pre aplikáciu, v ktorej chcete zmraziť procesy na pozadí. Môžete to urobiť inštaláciou Inšpektor aplikácií aplikácie vo vašom telefóne.
  14. Vráťte sa do príkazového riadka a zadajte nasledujúci príkaz: adb shell
  15. Teraz vykonajte nasledujúci príkaz na uvoľnenie procesov na pozadí aplikácie: cmd appops set RUN_IN_BACKGROUND ignore
  16. Ak niekedy budete chcieť vrátiť práve vykonanú zmenu a znova povoliť procesy aplikácie na pozadí, zadajte tento príkaz: cmd appops set RUN_IN_BACKGROUND allow
  17. Budete vedieť, že to funguje, ak vás prenesie späť do iného príkazového riadku ADB a nezobrazí chybové hlásenie.

Vysvetlenie

Ako presne tento príkaz funguje, je, že vám umožňuje obmedziť skryté povolenie, ktoré zvyčajne nie je prístupné používateľovi v aplikácii Nastavenia. Toto povolenie sa nazýva povolenie RUN_IN_BACKGROUND a jediný spôsob, ako ho možno upraviť, je použiť „cmd appops“, čo je rozhranie príkazového riadka pre „App Ops“ – systém správy povolení pre používateľov od Googlu.

Google pridal tento skrytý príkaz ADB, ktorý vám umožňuje obmedziť akúkoľvek aplikáciu v prijímaní implicitných vysielacích zámerov (napr. prebúdzanie aplikácie na pozadí) a tiež zabrániť týmto aplikáciám v plánovaní služieb na pozadí bez použitia JobScheduler (napr. aplikácia sa prebudí v nevhodnom čase a vybije batériu). Tento príkaz je v skutočnosti určený na použitie iba pre vývojárov, ktorí chcú simulovať, ako by ich aplikácia fungovala v podmienkach nízkej pamäte, ale našťastie sme ho mohli použiť sami.

Odstránením závislostí od služieb na pozadí aplikácie a implicitných vysielacích prijímačov zaregistrovaných v manifeste môžu vývojári optimalizovať svoju aplikáciu tak, aby fungovala lepšie na zariadeniach s nízkou pamäťou. Google hovorí, že aplikácie optimalizované pre tieto typy zariadení alebo tie, ktoré majú nízku pamäť, môžu zlepšiť výkon aj používateľskú skúsenosť. Spoločnosť tento rok na Google I/O oznámila upravenú verziu Androidu s názvom Android Go, ktorý sa bude používať pre smartfóny s veľmi nízkou pamäťou, takže predpokladáme, že tento príkaz by bol užitočný pre vývojárov zameraných na túto platformu.

V každom prípade môže byť tento príkaz pre bežného používateľa pomerne užitočný, ale dávajte si pozor, čo tu obmedzujete. Aplikácie ako Hangouts alebo Facebook sa úplne prestanú synchronizovať na pozadí, kým ich neotvoríte, čo ak je to, na čo sa zameriavate, určite vám to nevadí. Nebuďte však prekvapení, keď sa vaše e-maily alebo správy oneskoria, ak spustíte tento príkaz v aplikácii, ktorá závisí od prijímačov na pozadí.