9Sep

Kuidas Android hallab protsesse?

Windows lubab töölauarakendustel töötada, kas need on nähtavad või mitte, samas kui Apple'i iOS võimaldab ainult rakendustel taustal piiratud ülesandeid täita. Android asub kuskil vahepeal - esiplaanil töötavad rakendused on prioriteediks, kuid rakendustel on taustal paremini käitatav vabadus kui iOS-is.

Vaadakem täpsemalt, kuidas Android hallib oma telefonis või tahvelarvutis töötavaid rakendusi ja protsesse, kustutades taustal aset leidvad probleemid.

Protsessi elutsükli hierarhia

Androidi protsess võib igal ajahetkel olla üks viiest erinevast riigist, kõige tähtsamast ja kõige tähtsamast:

  • 1. Teadmiste protsess : teie kasutatav rakendus peetakse esiplaaniprotsessiks. Teisi protsesse võib pidada ka esiplaaniprotsessiks - näiteks kui nad suhtlevad protsessiga, mis on praegu esiplaanil. Igal ajahetkel on ainult mõned esiplaaniprotsessid.
  • 2. Nähtav protsess : nähtav protsess pole esiplaanil, kuid mõjutab endiselt teie ekraanil kuvatavat protsessi. Näiteks võib esiplaanide protsess olla dialoog, mis võimaldab teil selle rakenduse taga näha - taustal nähtav rakendus oleks nähtav protsess.
  • 3. Teenuseprotsess : teenindusprotsess ei ole seotud ühegi rakendusega, mis on ekraanil nähtav. Kuid ta kasutab taustal midagi, näiteks taasesitades muusikat või laadides andmeid. Näiteks kui hakkate muusikat mängima ja teise rakendusega lülitate, on muusika mängimine taustal teenindusprotsessis.
  • 4. Taustprotsess : taustprotsessid ei ole kasutaja jaoks praegu nähtavad. Need ei mõjuta telefoni kasutamise kogemust. Praegu töötab paljudel taustprotsessidel igal ajahetkel. Saate mõelda nende taustprotsesside "peatatud" rakendustele. Neid hoitakse mällu, nii et saate neid kiiremini jätkata, kui pöördute nende juurde tagasi, kuid nad ei kasuta väärtuslikku CPU aega ega muid mälus mittekommeerivaid ressursse.
  • 5. Tühi protsess : tühi protsess enam ei sisalda mingeid rakenduste andmeid. Rakenduse käivitamise kiirendamiseks võib seda vahemällu salvestada, või süsteem võib selle vajaduse korral tappa.

Oletame näiteks, et lülitate oma telefoni sisse ja avage muusikaprogramm. Selle kasutamise ajal on muusikaprogramm esiplaanil. Kui hakkate muusikat mängima ja jätate muusikaprogrammi, jätkab muusika teenindusprotsessi.

Vaatame Angry Birdsi veel ühe näitena. Angry Birds oleks esiplaan protsess, kui sa mängisid seda. Kui jätate Angry Birdsist välja ja sisestate Gmaili rakenduse oma e-kirja vaatamiseks, muutub Angry Birds taustprotsessiks( kuna ta ei pea taustal midagi tegema), kui Gmail muutub esiplaaniprotsessiks. Kui pöördute Angry Birdsi tagasi, muutub see teie esiplaaniprotsessiks ja mäng taastub kiiresti. Angry Birds ei kasutanud taustal ressursse - lisaks mõnele RAM-ile - kuid see jätkub kiiresti, kuna see jäi vahemällu ja valmis jätkuma.

Android automaatselt haldab protsesse

Android teeb head tööd nende protsesside automaatseks haldamiseks, mistõttu ei pea te Android-is ülesande killerit.

Kui Android vajab rohkem süsteemiressursse, hakkab kõigepealt kõige tähtsamate protsesside tapmine. Android hakkab tühjaks saama ja taustprotsesse tapma, kui mälu vabaneb. Kui teil on vaja rohkem mälu - näiteks kui mängite väga nõudlikul mängul seadmesse ilma palju RAM-i, siis hakkab Android teenindusprotsessi tapma, nii et teie voogesituse muusika ja failide allalaadimine võib peatada.

Enamikul juhtudel teeb Android selle kõik ilma, et peaksite selle pärast muretsema. Android kasutab arukalt rakenduse ja muude andmete vahemikuks teie seadme mälu, sest pole mingit mõtet jätta oma RAM tühjaks.

Muidugi pakub Androide rakendusi nii palju paindlikkust, et neil on viga halvasti käituda. Näiteks võib halvasti kodeeritud rakendus käivitada teenindusprotsessi, mis püsib kogu taustal pidevalt, kasutades ära kogu teie CPU aega ja oluliselt aku kasutusiga.

Üks huvitav asi, mida märkate viirusetõrjeprogrammides Avast! Android-il on see, et viirusetõrjeprogramm kasutab märguandeikooni.kui proovite teateikooni keelata, Avast!soovitab selle vastu. Olles nähtav teatiseikoon, Avast!muudab end kõrgema prioriteediga rakenduseks, takistades Android-i vaadates taustarakendust ja selle tapmist.

Android Apps saab alustada sündmuste vastusena.

Android-rakendused saavad ka käivitada sündmuste vastusena. Näiteks võib arendaja programmeerida oma rakenduse, mis käivitamisel automaatselt käivitatakse, ja käivitada teenust taustal. Rakendused võivad hakata reageerima mitmesugustele muudele sündmustele, näiteks pildistamise ajal, kui teie andmesideühendus muutub ja nii edasi. See võimaldab rakendustel toiminguid reageerida sündmustele ilma taustal pidevalt töötamata.

Managing Processes

Teil ei tohiks protsesside käsitsi töödelda, kuid soovi korral on sellel paar võimalust. Operatsioonisüsteemi Android 4.0 ja uuemate versioonide abil saate kasutada põhitoimingute juhtimist. Selle juurde pääsemiseks puudutage Nexuse seadmetes pühendatud mitmeotstarbelist nuppu. Teistes Android-seadmetes peate topelt-puudutama või pikalt vajutama nuppu Kodu.

-i rakendused kuvatakse menüüs tõenäoliselt olekus "taustprotsess".Võite neid tappa, lohistage rakendust vasakule või paremale, mis eemaldab selle seadme mälust. See ei peaks olema vajalik, kuid võib aidata, kui soovite rakendust kiiresti tappa - võib-olla on see valesti toimiv.

Võite ka minna ekraanile Seaded, puudutage Rakendused, koputage rakendust ja kasutage valesti toimiva rakenduse tapmiseks jõuülekande nuppu.

Android põhineb Linuxil ja iga Androidi rakendus on määratud teisele Linuxi kasutajatunnusele - või kasutajakontole. See eraldab rakendusi üksteisest. Kui käitate oma seadet, saavad rakendused pääseda oma kasutajate liivakastidelt ja käitada administraatoriõigustega.

piltkrediit: JD Hancock Flickril