Kā Android pārvalda procesus
Windows ļauj darbvirsmas lietotnēm palikt darboties neatkarīgi no tā, vai tās ir redzamas vai nav, savukārt Apple iOS ļauj lietotnēm tikai dažus ierobežotus uzdevumus fonā. Android sēž kaut kur pa vidu - prioritātes tiek piešķirtas priekšplānā darbojošām lietotnēm, bet lietotnēm ir daudz lielāka brīvība darboties fonā, nekā to dara iOS.
Mēs aplūkosim tieši to, kā Android pārvalda lietotnes un procesus, kas darbojas jūsu tālrunī vai planšetdatorā, demonstrējot to, kas notiek fonā.
Procesa dzīves cikla hierarhija
Android process var būt vienā no piecām dažādām valstīm jebkurā laikā, no vissvarīgākajiem līdz vismazāk svarīgajiem:
- 1. Jaunās zināšanas: Lietotā lietotne tiek uzskatīta par jaunāko procesu. Citi procesi var tikt uzskatīti par priekšplāna procesiem, piemēram, ja viņi mijiedarbojas ar procesu, kas pašlaik atrodas priekšplānā. Jebkurā konkrētā laikā ir tikai daži jauni procesi.
- 2. Redzams process: Redzamais process nav priekšplānā, bet joprojām ietekmē to, ko redzat ekrānā. Piemēram, priekšplāna process var būt dialoglodziņš, kas ļauj jums redzēt lietojumprogrammu aiz tās - fonā redzamā lietotne būtu redzams process.
- 3. Pakalpojumu process: Pakalpojumu process nav saistīts ar jebkuru ekrānā redzamu lietotni. Tomēr tas kaut ko dara fonā, piemēram, atskaņo mūziku vai lejupielādē datus fonā. Piemēram, ja sākat atskaņot mūziku un pārslēgties uz citu lietotni, mūzikas atskaņošana atrodas fonā, ko apstrādā pakalpojuma process.
- 4. Pamatinformācija: Fona procesi pašlaik nav redzami lietotājam. Tie neietekmē tālruņa lietošanas pieredzi. Jebkurā laikā pašlaik darbojas daudzi fona procesi. Jūs varat iedomāties šos fona procesus kā “apturētas” lietotnes. Viņi tiek glabāti atmiņā, lai jūs varētu ātri atsākt to izmantošanu, kad dodaties atpakaļ uz viņiem, bet tie neizmanto vērtīgu CPU laiku vai citus ne-atmiņas resursus..
- 5. Tukšs process: Tukšs process vairs nesatur lietotnes datus. Tas var būt saglabāts apkārt caching nolūkiem, lai paātrinātu lietotnes palaišanu vēlāk, vai arī sistēma var nogalināt to pēc vajadzības.
Piemēram, pieņemsim, ka ieslēdzat tālruni un atverat mūzikas lietotni. Lietojot to, mūzikas lietotne būs priekšplāna process. Kad sākat atskaņot mūziku un atstāt mūzikas lietotni, mūzika turpinās spēlēt kā pakalpojumu process.
Aplūkosim Angry Birds kā vēl vienu piemēru. Angry Birds būtu priekšplāna process, kamēr jūs to spēlējat. Atstājot Angry Birds un ievadot Gmail lietotni, lai apskatītu savu e-pastu, Angry Birds kļūst par fona procesu (jo tai nav jādara nekas fonā), kamēr Gmail kļūst par jauno zināšanu procesu. Pārslēdzoties atpakaļ uz Angry Birds, tas kļūs par jūsu jauno zināšanu procesu un spēle atsāksies ātri. Dusmīgie putni neizmantoja fona resursus, izņemot dažus RAM, bet tas atsāk ātri, jo tas palika kešatmiņā un gatavs atsākt.
Android automātiski pārvalda procesus
Android dara labu darbu, lai automātiski pārvaldītu šos procesus, tāpēc jums nav nepieciešams uzdevumu slepkava Android.
Kad Android ir nepieciešams vairāk sistēmas resursu, tas vispirms sāks vismazāk svarīgo procesu nogalināšanu. Android sāks nogalināt tukšus un fona procesus, lai atbrīvotu atmiņu, ja jūs darbosies zems. Ja jums ir nepieciešama lielāka atmiņa - piemēram, ja spēlējat īpaši prasīgu spēli ierīcē bez daudz RAM, tad Android sāks nogalināt pakalpojumu procesus, tāpēc jūsu straumēšanas mūzika un failu lejupielāde var tikt pārtraukta.
Vairumā gadījumu Android tas viss notiek, ja jums par to nav jāuztraucas. Android gudri izmanto ierīces atmiņu lietotņu un citu datu kešatmiņā, jo nav jēgas atstāt savu RAM tukšu.
Protams, Android nodrošina lietojumprogrammas ar tik lielu elastību, ka tām ir iespējas nepareizi rīkoties. Piemēram, slikti kodēta lietotne var sākt pakalpojumu procesu, kas nepārtraukti darbojas fonā visu laiku, izmantojot visu CPU laiku un ievērojami samazinot akumulatora darbības laiku.
Viena interesanta lieta, ko pamanīsiet pretvīrusu lietotnēs, piemēram, Avast! Android ir tas, ka pretvīrusu lietotne izmanto paziņojumu ikonu. ja mēģināt atspējot paziņojumu ikonu, Avast! ieteiks pret to. Ar redzamu paziņojumu ikonu Avast! padara sevi par prioritāru lietotni, kas neļauj Android uzskatīt to par fona lietotni un to nogalināt.
Android Apps var sākt atbildēt uz notikumiem
Android lietotnes var sākt arī, reaģējot uz notikumiem. Piemēram, attīstītājs var ieprogrammēt savu lietotni, lai automātiski palaist startēšanas laikā un palaist pakalpojumu fonā. Lietojumprogrammas var sākt, reaģējot uz dažādiem citiem notikumiem, piemēram, kad uzņemat attēlu, kad mainās datu savienojums, un tā tālāk. Tas ļauj lietotnēm veikt darbības, reaģējot uz notikumiem, nepārtraukti darbojoties fonā.
Procesu vadība
Jums nevajadzētu manuāli pārvaldīt procesus, bet, ja vēlaties, ir daži veidi, kā to izdarīt. Jūs varat izmantot multitasking izvēlni operētājsistēmā Android 4.0 un vēlāk, lai veiktu pamatprocesu vadību. Lai to piekļūtu, pieskarieties speciālajai daudzfunkciju pogai Nexus ierīcēs. Citās Android ierīcēs, iespējams, divreiz pieskarieties vai ilgi nospiediet pogu Sākums.
Izvēlnē redzamās programmas, iespējams, atrodas “fona procesā”. Jūs varat nogalināt tos, velkot lietotni pa kreisi vai pa labi, kas noņem to no ierīces atmiņas. Tam nevajadzētu būt vajadzīgam, bet var palīdzēt, kad vēlaties ātri nogalināt lietotni - varbūt tas ir nepareizi.
Varat arī doties uz iestatījumu ekrānu, piesitiet lietotnes, pieskarieties lietotnei un izmantot spēka apturēšanas pogu, lai nogalinātu nepareizu lietojumprogrammu.
Android pamatā ir Linux, un katra Android lietotne tiek piešķirta citam Linux lietotāja ID vai lietotāja kontam. Tas izolē lietotnes viena no otras. Ja ieslēdzat ierīci, lietotnes var izvairīties no lietotāja smilšu kastēm un darboties ar root tiesībām.
Image Credit: JD Hancock par Flickr