Kako Android upravlja procesima
Windows omogućuje radnim aplikacijama da i dalje rade bez obzira na to jesu li vidljive ili ne, dok Appleov iOS dopušta samo aplikacijama izvršavanje nekoliko ograničenih zadataka u pozadini. Android sjedi negdje između - aplikacije koje se prikazuju u prvom planu imaju prioritet, ali aplikacije imaju mnogo veću slobodu pokretanja u pozadini nego na iOS-u.
Pregledat ćemo točno kako Android upravlja aplikacijama i procesima koji se izvode na vašem telefonu ili tabletnom računalu, demistificirajući što se događa u pozadini.
Hijerarhija životnog ciklusa procesa
Proces na Androidu može biti u jednom od pet različitih država u bilo kojem trenutku, od najvažnijih do najmanje važnih:
- 1. Proces u prvom planu: Aplikacija koju upotrebljavate smatra se procesom u prvom planu. Drugi procesi se također mogu smatrati procesima u prvom planu - na primjer, ako su u interakciji s procesom koji je trenutno u prvom planu. U svakom trenutku postoji samo nekoliko procesa u prvom planu.
- 2. Proces vidljiv: Vidljivi postupak nije u prvom planu, ali i dalje utječe na ono što vidite na zaslonu. Na primjer, postupak u prvom planu može biti dijalog koji vam omogućuje da vidite aplikaciju iza nje - aplikacija vidljiva u pozadini bi bila vidljiv proces.
- 3. Postupak servisiranja: Postupak usluge nije povezan s aplikacijom koja je vidljiva na zaslonu. Međutim, radi nešto u pozadini, poput reprodukcije glazbe ili preuzimanja podataka u pozadini. Na primjer, ako počnete reproducirati glazbu i prebaciti se na drugu aplikaciju, glazba je u pozadini i njome upravlja proces usluge.
- 4. Pozadinski proces: Procesi u pozadini trenutno nisu vidljivi korisniku. Oni nemaju utjecaja na iskustvo korištenja telefona. U bilo kojem trenutku se trenutno izvode mnogi procesi u pozadini. Te procese u pozadini možete zamisliti kao "pauzirane" aplikacije. Oni se čuvaju u memoriji kako biste ih mogli brzo nastaviti koristiti kada se vratite na njih, ali oni ne koriste vrijedno procesorsko vrijeme ili druge ne-memorijske resurse.
- 5. Prazan proces: Prazan proces više ne sadrži podatke o aplikaciji. Može se zadržati za predmemoriranje radi ubrzavanja pokretanja aplikacija kasnije, ili ga sustav može ubiti ako je potrebno.
Na primjer, recimo da uključite telefon i otvorite glazbenu aplikaciju. Dok je koristite, glazbena aplikacija bit će u prvom planu. Kada počnete reproducirati glazbu i napustite glazbenu aplikaciju, glazba će se nastaviti reproducirati kao uslugu.
Pogledajmo Angry Birds kao još jedan primjer. Angry Birds bi bio proces u prvom planu dok ste ga igrali. Kada napustite Angry Birds i uđete u Gmail aplikaciju da biste pregledali svoju e-poštu, Angry Birds postaje pozadinski proces (jer ne mora ništa raditi u pozadini), dok Gmail postaje procesom u prvom planu. Kada se vratite na Angry Birds, to će postati vaš proces u prvom planu i igra će se brzo nastaviti. Angry Birds nije koristio resurse u pozadini - osim neke RAM-a - ali se brzo nastavlja jer je ostao spremljen u predmemoriju i spreman za nastavak.
Android automatski upravlja procesima
Android radi dobar posao automatskog upravljanja tim procesima, zbog čega ne trebate ubojicu zadataka na Androidu.
Kada Android treba više sistemskih resursa, najprije će početi ubijati najmanje važne procese. Android će početi ubijati prazne i pozadinske procese kako bi oslobodio memoriju ako je niska. Ako vam je potrebno više memorije - na primjer, ako igrate posebno zahtjevnu igru na uređaju bez mnogo RAM-a, Android će početi ubijati procese servisa, tako da se preuzimanje glazbe i datoteka može zaustaviti.
U većini slučajeva, Android sve to čini bez da morate brinuti o tome. Android inteligentno koristi RAM memorije vašeg uređaja za predmemoriranje aplikacija i drugih podataka, jer nema smisla ostavljati vaš RAM prazan.
Naravno, Android pruža aplikacije s toliko fleksibilnosti da imaju prostora za loše ponašanje. Na primjer, loše kodirana aplikacija mogla bi pokrenuti proces usluge koji se neprestano izvodi u pozadini, trošeći sve vrijeme procesora i dramatično smanjujući trajanje baterije.
Jedna zanimljiva stvar koju ćete primijetiti u antivirusnim aplikacijama kao što je Avast! za Android je da antivirusna aplikacija koristi ikonu obavijesti. ako pokušate onemogućiti ikonu obavijesti, Avast! će vam preporučiti. Imajući vidljivu ikonu obavijesti, Avast! čini aplikaciju višeg prioriteta, sprječavajući Android da ga smatra pozadinskom aplikacijom i ubija je.
Android aplikacije mogu početi kao odgovor na događaje
Android aplikacije također mogu započeti kao odgovor na događaje. Na primjer, programer može programirati svoju aplikaciju da se automatski pokreće pri pokretanju i pokreće uslugu u pozadini. Aplikacije se mogu pokrenuti kao odgovor na razne druge događaje, primjerice kada snimate fotografiju, kada se vaša podatkovna veza promijeni i tako dalje. To aplikacijama omogućuje izvođenje radnji kao odgovor na događaje bez stalnog pokretanja u pozadini.
Upravljanje procesima
Ne biste trebali upravljati procesima ručno, ali postoji nekoliko načina da to učinite ako želite. Možete koristiti višenamjenski izbornik na Androidu 4.0 i novijima kako biste izvršili osnovno upravljanje procesima. Da biste mu pristupili, dodirnite namjenski gumb za više zadataka na Nexus uređajima. Na drugim Android uređajima možda ćete morati dvaput dodirnuti ili dugo pritisnuti gumb Početna.
Aplikacije prikazane u izborniku vjerojatno su u stanju pozadinskog procesa. Možete ih ubiti tako da povlačite aplikaciju lijevo ili desno, što će je ukloniti iz memorije uređaja. To ne bi trebalo biti potrebno, ali može pomoći kada želite brzo ubiti aplikaciju - možda je to loše.
Možete i otići na zaslon Postavke, dodirnuti Aplikacije, dodirnuti aplikaciju i upotrijebiti gumb Prisilno zaustavljanje kako biste ubili neispravnu aplikaciju.
Android se temelji na Linuxu, a svaka aplikacija na Androidu dodijeljena je drugom korisničkom ID-u za Linux ili korisničkom računu. Ovo izolira aplikacije jedni od drugih. Ako pokrenete uređaj, aplikacije mogu pobjeći od svojih korisnika u sandboxu i pokrenuti s root pravima.
Zasluge za sliku: JD Hancock na Flickru