9Sep

Како Андроид управља процесима

Виндовс омогућава да се десктоп апликације и даље приказују без обзира да ли су видљиве или не, док Апплеов иОС дозвољава апликацијама да изврше неколико ограничених задатака у позадини.Андроид седи негде између њих - апликације које се покрећу у првом плану су приоритетне, али апликације имају много више слободи да се покрену у позадини него што то раде на иОС-у.

Прегледаћемо тачно како Андроид управља апликацијама и процесима који се покрећу на вашем телефону или таблету, демистификујући шта се дешава у позадини.

Хијерархија циклуса животног циклуса процеса

Процес на Андроид-у може бити у једној од пет различитих стања у било ком тренутку, од најважније до најмање важне:

  • 1. Форегроунд процес : Апликација коју користите се сматра првим процесом.Други процеси се такође могу сматрати процесима у првом плану - на примјер, ако они комуницирају с процесом који је тренутно у првом плану.Постоји само неколико нових процеса у било ком тренутку.
  • 2. Видљиви процес : Видљиви процес није у првом плану, али и даље утиче на оно што видите на екрану.На пример, процес у првом плану може бити дијалог који вам омогућава да видите апликацију иза ње - апликација видљива у позадини би била видљив процес.
  • 3. Сервисни процес : Услуга услуге није везана за било коју апликацију која је видљива на вашем екрану.Међутим, то ради нешто у позадини, као што је репродукција музике или преузимање података у позадини.На примјер, ако започнете репродукцију музике и пребаците на другу апликацију, репродукција музике је у позадини коју води сервисни процес.
  • 4. Позадински процес : Позадински процеси тренутно нису видљиви за корисника.Они не утичу на искуство коришћења телефона.У било ком тренутку, многи позадински процеси се тренутно покрећу.Ове позадинске процесе можете замислити као "паузиране" апликације.Они се чувају у меморији тако да можете брзо наставити да их користите када се вратите на њих, али не користе вриједно вријеме ЦПУ-а или друге изворе који нису меморије.
  • 5. Празан процес : празан процес више не садржи податке о апликацији.Може се задржати у циљу каширања како би касније убрзали лансирање апликација или га систем може убити ако је потребно.

На пример, рецимо да укључите свој телефон и отворите музичку апликацију.Док користите, апликација за музику ће бити први процес.Када започнете репродукцију музике и напуштате музичку апликацију, музика ће се наставити играти као сервисни процес.

Погледајмо Ангри Бирдс као још један пример.Ангри Бирдс би био процес у првом плану док сте је играли.Када оставите Ангри Бирдс и унесете апликацију Гмаил да бисте видели вашу е-пошту, Ангри Бирдс постаје позадински процес( јер то не мора ништа учинити у позадини), док Гмаил постаје процес у првом плану.Када се вратите на Ангри Бирдс, то ће постати ваш процес у првом плану и игра ће се наставити брзо.Ангри Бирдс није користио ресурсе у позадини - осим неке РАМ-а - али се брзо наставља, јер је остао кеширан и спреман за наставак.

Андроид аутоматски управља процесима

Андроид ради добар посао аутоматског управљања овим процесима, због чега вам не треба убица задатака на Андроид-у.

Када Андроид треба више системских ресурса, најпре ће почети да убија најмање важне процесе.Андроид ће почети да убија празне и позадинске процесе да ослободи меморију ако се понестаје.Ако вам је потребна више меморије - на примјер, ако играш посебно захтјевну игру на уређају без много РАМ-а, Андроид ће тада почети да убија сервисне процесе, тако да се музика за пренос и преузимање датотека може зауставити.

У већини случајева Андроид ради све то без потребе да бринете о томе.Андроид интелигентно користи РАМ вашег уређаја за каширање апликација и других података, јер нема смисла да оставите вашу РАМ меморију празном.

Наравно, Андроид апликацијама пружа толико флексибилности да им је простора за погрешно понашање.На пример, лоша кодирана апликација може покренути сервисни процес који остаје увек у покрету у позадини, користећи све време вашег ЦПУ-а и драматично смањење трајања батерије.

Једна занимљива ствар коју ћете приметити у антивирусним апликацијама попут Аваста!за Андроид је да антивирусна апликација користи икону обавештења.ако покушате да онемогућите икону обавештења, Аваст!препоручити против ње.Имајући икону видљиве иконе обавештења, Аваст!чини апликацију са вишим приоритетом, спречавајући Андроид да га сматра основном апликацијом и убијањем.

Андроид апликације могу почети у одговору на догађаје

Андроид апликације могу такође почети као одговор на догађаје.На пример, програмер би могао програмирати своју апликацију да се аутоматски покрене при покретању и покреће сервис у позадини.Апликације могу почети као одговор на различите друге догађаје, на пример када снимате слику, када се ваша дата веза мења и тако даље.Ово омогућава апликацијама да извршавају радње као одговор на догађаје без константног трчања у позадини.

Управљање процесима

Не бисте требали ручно управљати процесима, али постоји неколико начина да то урадите ако желите.Можете да користите мени за више задатака у оперативном систему Андроид 4.0 и касније да бисте извршили неке основне функције управљања процесима.Да бисте је приступили, додирните дугме за више задатака на Некус уређајима.На другим Андроид уређајима, можда ћете морати двапут куцати или дуго притиснути дугме Хоме.

Апликације приказане у менију су вјероватно у стању "бацкгроунд процесс".Можете их убити померањем апликације лево или десно, што ће га уклонити из меморије вашег уређаја.Ово не би требало да буде неопходно, али може помоћи када желите да брзо убијете апликацију - можда се не понаша погрешно.

Такође можете ићи на екран за подешавања, додирните Апликације, куцните на апликацију и користите тастер за заустављање силе да бисте убили апликацију која се не понавља.

Андроид се базира на Линуку, а свака апликација на Андроиду је додељена другом ИД-ју корисника Линук-а или корисничком рачуну.Ово изолује апликације једне од других.Ако корените свој уређај, апликације могу да избегну своје корисничке сандбоке и покрену привилегије роот-а.

Имаге Цредит: ЈД Ханцоцк на Флицкр