Ez az oktatóanyag bemutatja, hogyan fagyaszthatja le bármely alkalmazás háttérfolyamatait Android 7.0 és 7.1 Nougat rendszeren root nélkül, rejtett ADB-parancs használatával.
Az Androidot mindig is a „erőteljesebb” mobilplatformnak tekintették az iOS-hez képest, mert a harmadik féltől származó alkalmazások mekkora szabadsággal rendelkeznek. Ez sok automatizálást tesz lehetővé egyszerűen azért, mert az Android-alkalmazások több feladatot is el tudnak végezni, miközben a háttérben futnak. Ennek azonban van egy hátulütője is, mivel az eszközön futó háttérfolyamatoknak köszönhetően potenciálisan több akkumulátorlemerülést tesz lehetővé.
Egy dolog tudni, hogy telefonját a háttérben futó alkalmazásokkal tölti fel, mivel hajlandó feláldozni az akkumulátor élettartamának egy részét az általuk nyújtott előnyökért. Más a helyzet, ha csak hagyományos alkalmazásokat tölt le, amelyek nincsenek optimalizálva, és amelyek akkor hajtanak végre feladatokat a háttérben, amikor Ön nem akarja, vagy éppen szüksége van rájuk. A Google azon dolgozik, hogy javítsa ezt azáltal, hogy egyre több korlátozást vezet be az alkalmazások működésére a háttérben, és az Android O megjelenése hozza a legtöbb háttérfolyamat-/vevő-korlátozást messze.
A felhasználók túlnyomó többsége azonban még hónapokig nem fogja látni az Android O-t készülékén (ha egyáltalán látja). De ha futsz Android 7.0 vagy Android 7.1, van egy egyszerű trükk, amelyet manuálisan is megtehet megakadályozza, hogy egy alkalmazás a háttérben futhasson - és az nem igényel root-ot vagy egy harmadik féltől származó alkalmazás. Ez erősebb, mint amit a Greenify vagy az olyan alkalmazások kínálnak, mint a Brevent, mivel root hozzáférés nélkül ezek az alkalmazások meglehetősen korlátozottak. De ezzel a trükkel most megteheti blokkolja az olyan alkalmazásokat, mint a Facebook vagy a Hangouts attól, hogy valaha is futhassanak a háttérben – csak akkor működnek, ha aktívan használják őket!
Háttérfolyamatok korlátozása oktatóanyag
Követelmények:
- Android Nougat (7.0 vagy 7.1) eszköz
- Telepítse az adott eszköz OEM-jének USB-illesztőprogramjait (a Google felsorol néhányat univerzális USB-illesztőprogramok itt).
- Töltse le a ADB bináris az adott operációs rendszerhez (ablakok, Mac, Linux). Ezek a hivatkozások mindig a bináris fájl legújabb verziójára mutatnak.
- Bontsa ki a ZIP-fájl tartalmát egy könnyen elérhető mappába a számítógépén.
- Nyissa meg a Beállítások alkalmazást a telefonján, és érintse meg a Telefonról lehetőséget.
- Keresse meg a Build számot, és érintse meg hétszer a Fejlesztői mód engedélyezéséhez.
- Menjen vissza a Beállítások főmenübe, és lépjen be a Fejlesztői beállításokba, hogy engedélyezze az USB hibakeresési módot.
- Csatlakoztassa telefonját a számítógéphez, és állítsa át „csak töltés” módról „fájlátvitel (MTP)” módra. Ez nem minden eszközön szükséges, de sok eszköz ezt biztonsági intézkedésként megköveteli, mielőtt engedélyezné az ADB működését.
- Menjen vissza a számítógépre, és keresse meg azt a könyvtárat, ahonnan kibontotta az ADB bináris fájlt.
- Indítson el egy parancssort vagy terminált az ADB-könyvtárban. Windows-felhasználók számára ezt úgy teheti meg, hogy lenyomva tartja a Shift és a jobb gombbal, majd kiválasztja a „parancssor megnyitása itt” lehetőséget. (Egyes Windows 10-felhasználók a „parancssort” „PowerShell”-re cserélik.)
- Miután a Parancssor vagy Terminál környezetben van, írja be a következő parancsot:
adb devices
- Ez elindítja az ADB démont, ha még nem indult el, csak várja meg, amíg befejeződik. Ha először futtatja az ADB-t, akkor a telefonon is megjelenik egy felszólítás, amely arra kéri, hogy engedélyezze a kapcsolatot a számítógéppel. Engedélyezze az USB hibakeresési hozzáférést itt.
- Ha most újra futtatja az adb devices parancsot a 10. lépéstől, a parancssor/terminál kinyomtatja az eszköz sorozatszámát. Ha igen, akkor készen áll a továbblépésre. Ha nem, akkor az USB-illesztőprogramok valószínűleg nincsenek megfelelően telepítve.
- Ezután meg kell találnia a háttérfolyamatokat lefagyasztani kívánt alkalmazás csomagnevét. Ezt úgy teheti meg, hogy telepíti a App Inspector alkalmazást a telefonon.
- Menjen vissza a Parancssorba, és írja be a következő parancsot:
adb shell
- Most hajtsa végre a következő parancsot az alkalmazás háttérfolyamatainak felszabadításához:
cmd appops set
RUN_IN_BACKGROUND ignore - Ha valaha is vissza szeretné állítani az imént végrehajtott módosítást, és ismét engedélyezni szeretné egy alkalmazás háttérfolyamatait, írja be ezt a parancsot:
cmd appops set
RUN_IN_BACKGROUND allow - Tudni fogja, hogy működik, ha visszaviszi egy másik ADB shell prompthoz, és nem ad hibaüzenetet.
Magyarázat
Ez a parancs pontosan az, hogy lehetővé teszi egy rejtett engedély korlátozását, amely általában nem érhető el a felhasználó számára a Beállítások alkalmazásban. Ezt az engedélyt RUN_IN_BACKGROUND engedélynek hívják, és csak úgy módosítható, hogy a "cmd" appops", amely az "App Ops" parancssori felülete – a Google felhasználóbarát engedélykezelő rendszere.
A Google hozzáadta ezt a rejtett ADB-parancsot, amely lehetővé teszi bármely alkalmazás számára, hogy korlátozza az implicit sugárzási szándékok fogadását (pl. az alkalmazás felébred a háttérben), és megakadályozza, hogy ezek az alkalmazások háttérszolgáltatásokat ütemezzenek a JobScheduler használata nélkül (pl. az alkalmazás nem megfelelő időben ébred fel, és lemeríti az akkumulátort). Ezt a parancsot valójában csak olyan fejlesztők használhatják, akik szimulálják, hogyan működne az alkalmazásuk kevés memória esetén, de szerencsére saját használatra is tudjuk használni.
Az alkalmazások háttérszolgáltatásaitól és a jegyzékben regisztrált implicit műsorszórási vevőktől való függőségek eltávolításával a fejlesztők optimalizálhatják alkalmazásaikat, hogy jobban fussanak az alacsony memóriájú eszközökön. A Google szerint az ilyen típusú eszközökre optimalizált, vagy kevés memóriával rendelkező alkalmazások mind a teljesítményt, mind a felhasználói élményt javíthatják. A cég az idei Google I/O-n jelentette be az Android módosított verziója, az Android Go, amelyet nagyon alacsony memóriájú okostelefonokhoz használnak majd, ezért feltételezzük, hogy ez a parancs hasznos lenne az erre a platformra törekvő fejlesztők számára.
Mindenesetre ez a parancs meglehetősen hasznos lehet az átlagos felhasználó számára, de vigyázzon, mit korlátoz itt. Az olyan alkalmazások, mint a Hangouts vagy a Facebook, teljesen leállítják a háttérben történő szinkronizálást, amíg meg nem nyitod őket. Ha ezt szeretnéd, akkor biztos vagyok benne, hogy nem bánod. De ne lepődjön meg, ha e-mailjei vagy üzenetei késni fognak, ha olyan alkalmazáson futtatja ezt a parancsot, amely a háttérben vevőktől függ.