Hogyan kezeli az Android folyamatokat
A Windows lehetővé teszi, hogy az asztali alkalmazások továbbra is futhassanak, függetlenül attól, hogy láthatóak-e vagy sem, míg az Apple iOS lehetővé teszi az alkalmazások számára, hogy néhány korlátozott feladatot végrehajtsanak a háttérben. Az Android valahol egymás között ül - az előtérben futó alkalmazások elsőbbséget élveznek, de az alkalmazások sokkal több szabadságot futtathatnak a háttérben, mint az iOS-on.
Nézzük meg pontosan, hogy az Android hogyan kezeli a telefonon vagy táblagépen futó alkalmazásokat és folyamatokat, és bemutatja, hogy mi történik a háttérben.
A folyamat életciklus-hierarchia
Az Androidon futó folyamat egy adott időpontban az öt különböző állam egyikében lehet, a legfontosabbak közül a legkevésbé fontosak:
- 1. Az előtér folyamat: A használt alkalmazás az előtérbe kerül. Más folyamatok is előtérbe kerülnek - például, ha kölcsönhatásba lépnek az előtérben lévő folyamatokkal. Csak néhány előtérfolyamat létezik egy adott időpontban.
- 2. Látható folyamat: A látható folyamat nem az előtérben van, de még mindig befolyásolja azt, amit a képernyőn lát. Például az előtérfolyamat lehet olyan párbeszédablak, amely lehetővé teszi, hogy egy alkalmazás mögött lásson egy alkalmazást - a háttérben látható alkalmazás látható folyamat lenne..
- 3. Szolgáltatási folyamat: A szolgáltatás nem kapcsolódik a képernyőn látható alkalmazáshoz. Azonban ez valamit a háttérben végez, például zenét játszik le, vagy adatokat tölthet le a háttérben. Ha például elkezdi a zenét lejátszani és másik alkalmazásra váltani, akkor a zene lejátszása a háttérben történik, és egy szolgáltatás folyamatban van.
- 4. Háttér folyamat: A háttérfolyamatok jelenleg nem láthatók a felhasználó számára. Nem befolyásolják a telefon használatának élményét. Egy adott időpontban sok háttérfolyamat fut. Ezeket a háttérfolyamatokat „szüneteltetett” alkalmazásoknak tekintheti. Tartják a memóriában, így gyorsan újra használhatják őket, amikor visszatérnek hozzájuk, de nem használnak értékes CPU-időt vagy más nem memória-erőforrásokat.
- 5. Üres folyamat: Az üres folyamat már nem tartalmaz app-adatokat. Lehetőség van a gyorsítótárazás érdekében, hogy felgyorsítsák az alkalmazást később, vagy ha a rendszer szükség esetén megöli.
Tegyük fel például, hogy bekapcsolja a telefont, és megnyit egy zenei alkalmazást. Használat közben a zenei alkalmazás előtérbe kerül. Amikor elkezdi lejátszani a zenét, és elhagyja a zenei alkalmazást, a zene továbbra is szolgáltatási folyamatként fog játszani.
Nézzük meg Angry Birds-t, mint egy másik példát. A dühös madarak előtérbe kerülnek, miközben játszottad. Amikor elhagyja az Angry Birds-t és belép a Gmail alkalmazásba az e-mailek megtekintéséhez, az Angry Birds háttérfolyamatsá válik (mert nem kell semmit tenni a háttérben), míg a Gmail az előtérbe kerül. Amikor visszatérsz az Angry Birds-hez, az lesz az előtérbe kerülés, és a játék gyorsan újraindul. A dühös madarak nem használták a forrásokat a háttérben - néhány RAM mellett -, de gyorsan folytatódik, mert a gyorsítótárban maradt és készen áll az újraindításra.
Az Android automatikusan kezeli a folyamatokat
Az Android jó munkát végez ezen folyamatok automatikus kezelésében, ezért nem kell feladatgyűjtőnek lennie az Androidon.
Amikor az Android több rendszererőforrást igényel, elkezdi megölni a legkevésbé fontos folyamatokat. Az Android elkezdi elpusztítani az üres és a háttérfolyamatokat, hogy szabaddá tegye a memóriát, ha alacsony. Ha több memóriára van szüksége - például ha egy rendkívül igényes játékot játszik egy olyan eszközön, ahol nincs sok RAM, akkor az Android elkezdi elpusztítani a szolgáltatási folyamatokat, így a streaming zene és a fájl letöltések leállhatnak.
A legtöbb esetben az Android mindezt úgy teszi, hogy nem kell aggódnia. Az Android intelligensen használja az eszköz RAM-ját az alkalmazások és más adatok gyorsítótárazásához, mert nincs értelme, hogy üresen hagyja a RAM-ot.
Természetesen az Android olyan rugalmasságot biztosít az alkalmazások számára, hogy helyt adhassanak. Például egy rosszul kódolt alkalmazás elindíthat egy olyan folyamatot, amely folyamatosan fut a háttérben, a teljes CPU-időt felemelve, és jelentősen csökkenti az akkumulátor élettartamát.
Egy érdekes dolog, amit észre fog venni az olyan víruskereső alkalmazásokban, mint az Avast! Android esetében az, hogy a víruskereső alkalmazás értesítési ikont használ. ha megpróbálja letiltani az értesítési ikont, Avast! ellenzi. Látható értesítési ikonnal, Avast! Magas prioritású alkalmazássá teszi magát, megakadályozva, hogy az Android háttéralkalmazás legyen és megölje.
Az Android-alkalmazások az eseményekre válaszul indulhatnak
Az Android-alkalmazások az eseményekre válaszul is indulhatnak. Például egy fejlesztő programozhatja az alkalmazását, hogy automatikusan elinduljon és indítsa el a szolgáltatást a háttérben. Az alkalmazások számos más eseményre válaszolhatnak, például amikor képet készít, amikor az adatkapcsolat megváltozik, és így tovább. Ez lehetővé teszi az alkalmazások számára, hogy az eseményekre reagálva folytassák a folyamatos futást a háttérben.
A folyamatok kezelése
Nem kell manuálisan kezelnie a folyamatokat, de van néhány módja annak, ha akarja. Használhatja a többfeladatos menüt az Android 4.0-ban és később, hogy elvégezze az alapvető folyamatkezelést. A hozzáféréshez érintse meg a Nexus eszközökön található dedikált többfunkciós gombot. Más Android eszközökön előfordulhat, hogy kétszer érintse meg a gombot, vagy hosszan nyomja meg a Home gombot.
A menüben megjelenő alkalmazások valószínűleg „háttérfolyamat” állapotban vannak. Meg lehet ölni őket egy alkalmazás balra vagy jobbra húzásával, amely eltávolítja azt a készülék memóriájából. Ez nem feltétlenül szükséges, de segíthet, ha gyorsan le akarsz ölni egy alkalmazást - talán nem megfelelő.
A Beállítások képernyőbe is beléphet, érintse meg az Alkalmazások elemet, érintsen meg egy alkalmazást, és használja a Megszakítás gombot a meghibásodott alkalmazás megöléséhez.
Az Android Linuxon alapul, és az Androidon minden alkalmazás egy másik Linux felhasználói azonosítóhoz vagy felhasználói fiókhoz van hozzárendelve. Ez elkülöníti az alkalmazásokat egymástól. Ha gyökerezi az eszközt, az alkalmazások menekülhetnek a felhasználó homokozóiról, és root jogosultságokkal működhetnek.
Képhitel: JD Hancock a Flickr-en