Kuidas Android haldab protsesse
Windows võimaldab töölauarakendustel jääda nähtavaks, olgu need nähtavad või mitte, samas kui Apple'i iOS võimaldab rakendustel taustal ainult mõningaid piiratud ülesandeid täita. Android istub kusagil vahele - esiplaanil on esiplaanil rakendused, kuid rakendustel on taustal palju rohkem vabadust kui iOS-is.
Me vaatame täpselt, kuidas Android teie telefonis või tahvelarvutis töötavaid rakendusi haldab ja demonstreerib, mis toimub taustal.
Protsessi elutsükli hierarhia
Androidi protsess võib igal ajal olla ühes viiest erinevast riigist, kõige olulisemast kõige vähem tähtsaks:
- 1. Esialgne protsess: Teie kasutatavat rakendust peetakse esiplaanile. Teisi protsesse võib käsitleda ka esiplaaniprotsessidena - näiteks kui nad suhtlevad protsessiga, mis on praegu esiplaanil. Igal ajahetkel on ainult mõned esiplaaniprotsessid.
- 2. Nähtav protsess: Nähtav protsess ei ole esiplaanil, kuid mõjutab ikka veel seda, mida näete ekraanil. Näiteks võib esiplaaniprotsess olla dialoog, mis võimaldab teil näha selle taga olevat rakendust - taustal nähtav rakendus oleks nähtav protsess.
- 3. Teenuse osutamise protsess: Teenuse protsess ei ole seotud ühegi rakendusega, mis on teie ekraanil nähtav. Kuid see teeb midagi taustal, näiteks muusika esitamine või andmete allalaadimine taustal. Näiteks, kui alustate muusika esitamist ja teisele rakendusele lülitumist, siis muusika mängimine on taustal, mida käitab teenuse protsess.
- 4. Taustprotsess: Taustprotsessid pole kasutajale praegu nähtavad. Nad ei mõjuta telefoni kasutamise kogemust. Praegu töötavad praegu mitu taustaprotsessi. Neid taustaprotsesse võib mõelda kui "peatatud" rakendusi. Neid hoitakse mälus, nii et saate neid nende kasutamisel tagasi pöörduda, kuid nad ei kasuta väärtuslikku protsessori aega ega muid mitte-mälu ressursse.
- 5. Tühi protsess: Tühi protsess ei sisalda enam rakenduse andmeid. Seda võib hoida vahemällu salvestamise eesmärgil, et kiirendada rakenduse käivitamist hiljem, või süsteem võib selle vajaduse korral tappa.
Oletame näiteks, et lülitate telefoni sisse ja avate muusikarakenduse. Selle kasutamisel on muusika rakendus esiplaanil. Kui alustate muusika esitamist ja muusikarakendusest lahkuda, jätkab muusika teenuseprotsessi.
Vaatame Angry Birds'd kui teist näidet. Angry Birds oleks esiplaaniprotsess, kui sa seda mängisid. Kui jätate Angry Birds'i ja sisestate oma e-posti vaatamiseks Gmaili rakenduse, muutub Angry Birds taustaprotsessiks (kuna see ei pea taustal midagi tegema), samas kui Gmail muutub esiplaanile. Kui pöördute tagasi Angry Birds'le, muutub see teie esiplaanile ja mäng jätkub kiiresti. Angry Birds ei kasutanud taustal ressursse - lisaks mõnele RAM-ile -, kuid see jätkub kiiresti, sest see jäi vahemällu ja valmis jätkama.
Android haldab protsesse automaatselt
Android teeb nende protsesside automaatseks haldamiseks head tööd, mistõttu ei pea te Androidis töötama.
Kui Android vajab rohkem süsteemi ressursse, hakkab see kõigepealt kõige vähem tähtsate protsesside tapmist. Android alustab tühjade ja taustprotsesside tapmist, et vabastada mälu, kui olete madal. Kui vajate rohkem mälu - näiteks kui mängid eriti nõudliku mängu palju RAM-i sisaldavas seadmes, hakkab Android teenuseprotsesse tapma, nii et teie voogesituse muusika ja failide allalaadimine võib peatuda.
Enamikul juhtudel teeb Android seda kõike, ilma et peaksite selle pärast muretsema. Android kasutab intelligentselt teie seadme RAM-i rakenduste ja muude andmete vahemällu salvestamiseks, sest RAM-i jätmine pole mõtet.
Loomulikult pakub Android rakendustele nii palju paindlikkust, et neil on ruumi valesti toime tulla. Näiteks võib halvasti kodeeritud rakendus alustada teenindusprotsessi, mis jääb kogu taustal töötama, kasutades kogu protsessori aega ja vähendades oluliselt teie aku kasutusaega.
Üks huvitav asi, mida märkate viirusetõrje rakendustes nagu Avast! Android on see, et viirusetõrje rakendus kasutab teavitusikooni. kui üritate keelata teavitusikooni, Avast! soovib selle vastu. Avast teate ikooniga Avast! teeb end kõrgema prioriteediga rakenduseks, takistades Androidil seda taustarakendust pidada ja tappa.
Android Apps saab alustada vastusena sündmustele
Android-rakendused võivad käivituda ka sündmuste vastuseks. Näiteks võib arendaja programmeerida oma rakenduse käivitamisel automaatselt ja käivitada teenuse taustal. Rakendused võivad käivituda vastuseks mitmetele muudele sündmustele, näiteks pildistamisel, andmesideühenduse muutmisel jne. See võimaldab rakendustel teha sündmustele vastavaid toiminguid ilma taustal pidevalt töötamata.
Protsesside haldamine
Protsesse ei tohiks käsitsi hallata, kuid kui soovite, on mõned võimalused seda teha. Protsessi juhtimiseks peate kasutama operatsioonisüsteemi Android 4.0 ja hilisemat multitegumi menüüd. Sellele juurdepääsuks koputage Nexuse seadmetel spetsiaalset mitmeosalist nuppu. Teistes Android-seadmetes peate võib-olla kaks korda puudutama või vajutage nuppu Home.
Menüüs kuvatavad rakendused on tõenäoliselt „taustaprotsessi“ olekus. Te saate neid tappa, kui pühkite rakendust vasakule või paremale, mis eemaldab selle seadme mälust. See ei tohiks olla vajalik, kuid võib aidata, kui soovid appi kiiresti tappa - võib-olla see on valesti.
Sa võid ka minna menüüsse Seaded, puudutada rakendusi, puudutada rakendust ja kasutada jõude peatamise nuppu, et tappa valesti rakendatav rakendus.
Android põhineb Linuxil ja iga Android'i rakendus on määratud teisele Linuxi kasutajatunnusele või kasutajakontole. See isoleerib rakendused üksteisest. Kui juurite oma seadme, saavad rakendused oma kasutaja liivakastidest põgeneda ja töötada root-õigustega.
Krediidi krediit: JD Hancock Flickris