If-Koubou

Kā Android apstrādā procesus

Kā Android apstrādā procesus (Kā)

Windows ļauj darbvirsmas lietotnēm darboties, neatkarīgi no tā, vai tie ir redzami vai ne, bet Apple iOS ļauj tikai lietotnēm veikt dažus ierobežotus uzdevumus fonā. Android atrodas kaut kur pa vidu - progr, kas darbojas priekšplānā, ir prioritāras, taču lietojumprogrammām ir daudz vairāk brīvības, kā fona darbināt, nekā tās darbojas iOS.

Mēs izskatīsim tieši to, kā Android apstrādā lietotnes un procesus, kas darbojas jūsu tālrunī vai planšetdatorā, un novēršot to, kas notiek fonā.

Procesa dzīves cikla hierarhija

Android procesā jebkurā brīdī var būt viens no pieciem dažādiem stāvokļiem no vissvarīgākajiem līdz vismazāk svarīgajiem:

  • 1. Jaundzimušo process: Lietotne, kuru izmantojat, tiek uzskatīta par jaunā procesa procesu. Citus procesus var uzskatīt arī par priekšplāna procesiem - piemēram, ja viņi mijiedarbojas ar procesu, kas šobrīd ir priekšplānā. Katrā konkrētā brīdī ir tikai daži priekšplāna procesi.
  • 2. Redzamais process: Redzamais process nav priekšplānā, taču tas joprojām ietekmē to, ko redzat savā ekrānā. Piemēram, jaunā procesa process var būt dialogs, kas ļauj jums redzēt lietotni aiz tā. Fona redzamā lietotne būtu redzams process.
  • 3. Pakalpojumu process: Pakalpojuma process nav saistīts ar jebkuru lietotni, kas ir redzama jūsu ekrānā. Tomēr fonā tas tiek darīts, piemēram, atskaņojot mūziku vai lejupielādējot datus fonā. Piemēram, ja sākat atskaņot mūziku un pārslēgties uz citu lietotni, mūzikas atskaņošanu fonā apstrādā pakalpojuma process.
  • 4. Fona process: Fona procesi pašlaik nav redzami lietotājam. Tie neietekmē tālruņa lietošanas pieredzi. Jebkurā brīdī tiek darbināts daudz fona procesu. Varat domāt par šiem fona procesiem kā "pauzētām" lietotnēm. Viņi ir saglabāti atmiņā, lai jūs varētu ātri atsākt to izmantot, atgriežoties pie viņiem, bet tie neizmanto vērtīgu procesora laiku vai citus resursus, kas nav atmiņas.
  • 5. Tukšs process: Tukšajā procesā vairs nav neviena lietotnes datu. To var uzglabāt cachešanas nolūkos, lai paātrinātu lietotņu palaišanu vēlāk, vai arī sistēma to var nogalināt pēc nepieciešamības.

Piemēram, pieņemsim, ka ieslēdzat tālruni un atverat mūzikas lietotni. Kamēr to izmantojat, 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ā pakalpojuma process.

Apskatīsim Angry Birds par vēl vienu piemēru. Angry Birds būtu priekšplāna process, kamēr jūs to spēlējait. Kad jūs pametat Angry Birds un ievadiet Gmail lietotni, lai skatītu e-pastu, Angry Birds kļūst par fona procesu (jo tai nav jādara kaut kas fonā), savukārt Gmail kļūst par priekšplāna procesu. Kad jūs atgriezīsieties Angry Birds, tas kļūs par jūsu jauno zināšanu procesu un spēle atsāksies ātri. Angry Birds neizmantoja resursus fonā - malā no dažiem RAM - bet tas atsāk ātri, jo tas palika kešatmiņā un ir gatavs atsākt.

Android automātiski pārvalda procesus

Android darbojas pareizi, automātiski pārvaldot šos procesus, tādēļ Android operētājsistēmā nav nepieciešams uzdevumu izpildītājs.

Kad Android nepieciešama vairāk sistēmas resursu, vispirms sāksim nogalināt vismazāk svarīgos procesus. Android sāks nogalināt tukšos un fona procesus, lai atbrīvotu atmiņu, ja jūs slikta. Ja jums nepieciešama lielāka atmiņa - piemēram, ja atskaņojat īpaši pieprasītu spēli ierīcē, kurā nav daudz RAM, Android pēc tam sāks iznīcināt pakalpojumu procesus, lai straumēšanas mūzika un failu lejupielāde varētu beigties.

Vairumā gadījumu Android tas viss notiek bez jums, kam par to jāuztraucas. Android inteliģenti izmanto jūsu ierīces RAM, lai saglabātu lietotnes un citus datus, jo nav jēgas palikt tukšā RAM.

Protams, Android nodrošina progr ar tik lielu elastību, ka viņiem ir spēja kļūdīties. Piemēram, vāji kodēta lietotne var sākt pakalpojuma procesu, kas visu laiku paliek fone, izmantojot visu savu CPU laiku un būtiski samazinot akumulatora darbības laiku.

Viena interesanta lieta, ko jūs pamanīsit tādās pretvīrusu lietojumprogrammās kā Avast! Android ir tas, ka pretvīrusu lietojumprogramma izmanto paziņojumu ikonu. ja jūs mēģināt atspējot paziņojumu ikonu, Avast! ieteiks pret to. Ar redzamu paziņojumu ikonu, Avast! padara to par augstākas prioritātes lietotni, liedzot Android to uzskatot par fona lietojumprogrammu un to iznīcinot.

Android lietotnes var sākt, atbildot uz notikumiem

Android lietotnes var sākt arī, reaģējot uz notikumiem. Piemēram, izstrādātājs var programmēt savu lietotni, lai to automātiski palaistu startēšanas laikā un palaistu pakalpojumu fonā. Lietotnes var sākt, reaģējot uz dažādiem citiem notikumiem, piemēram, kad uzņemat attēlu, mainot datu savienojumu 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ēs pārvaldīt procesus manuāli, bet, ja vēlaties, ir vairāki veidi. Android operētājsistēmā Android 4.0 vai jaunākajā versijā varat izmantot vairākuzdevumu izvēlni, lai veiktu kādu pamata procesa pārvaldību. Lai to piekļūtu, pieskarieties īpašajai daudzuzdevumu pogai Nexus ierīcēs. Pārējās Android ierīcēs, iespējams, būs jāatkārto divreiz vai ilgstoši nospiediet sākuma pogu.

Iespējams, izvēlnē redzamās lietotnes ir stāvoklī "fona process". Varat tos nogalināt, velkot lietotni pa kreisi vai pa labi, kas to noņems no ierīces atmiņas. Tam nevajadzētu būt nepieciešamajam, taču var palīdzēt, ja jūs vēlaties ātri noņemt lietotni - varbūt tas ir nepareizi.

Varat arī nokļūt ekrānā Iestatījumi, pieskarieties Programmas, pieskarieties lietojumprogrammai un izmantojiet spēka pieturas pogu, lai nogalinātu nepareizu lietotni.

Android pamatā ir Linux, un katrai lietotnei Android tiek piešķirts cits Linux lietotāja ID vai lietotāja konts. Tas izolē lietotnes no cita. Ja jūs saknes savu ierīci, lietotnes var izvairīties no lietotāju smilškastēm un palaist ar root privilēģijām.

Attēlu kredīts: JD Hancock par Flickr