Како Андроид управља процесима
Виндовс омогућава десктоп апликацијама да и даље раде без обзира да ли су видљиве или не, док Апплеов иОС дозвољава само апликацијама да обављају неколико ограничених задатака у позадини. Андроид се налази негде између - апликације које се покрећу у првом плану имају приоритет, али апликације имају много већу слободу да раде у позадини него на иОС-у.
Погледаћемо тачно како Андроид управља апликацијама и процесима који се извршавају на вашем телефону или таблету, демистификујући шта се дешава у позадини.
Хијерархија животног циклуса процеса
Процес на Андроид-у може бити у једном од пет различитих држава у сваком тренутку, од најважнијих до најмање важних:
- 1. Процес у првом плану: Апликација коју користите сматра се процесом у првом плану. Други процеси се такође могу сматрати процесима у првом плану - на пример, ако су у интеракцији са процесом који је тренутно у првом плану. У сваком тренутку постоји само неколико процеса у првом плану.
- 2. Видљив процес: Видљив процес није у првом плану, али и даље утиче на оно што видите на екрану. На пример, процес у првом плану може бити дијалог који вам омогућава да видите апликацију иза ње - апликација видљива у позадини би била видљив процес.
- 3. Сервисни процес: Процес сервиса није везан за ниједну апликацију која је видљива на вашем екрану. Међутим, ради нешто у позадини, као што је репродукција музике или преузимање података у позадини. На пример, ако почнете да репродукујете музику и пребацујете се на другу апликацију, музичка репродукција је у позадини и управља се процесом услуге.
- 4. Позадински процес: Процеси позадине тренутно нису видљиви кориснику. Они немају утицаја на искуство коришћења телефона. У било ком тренутку, многи позадински процеси су тренутно покренути. Ове процесе у позадини можете замислити као “паузиране” апликације. Они се чувају у меморији тако да можете брзо да наставите да их користите када се вратите на њих, али они не користе вредно ЦПУ време или друге не-меморијске ресурсе.
- 5. Празан процес: Празан процес више не садржи податке о апликацији. Може се задржати за сврхе кеширања да би касније убрзао покретање апликација, или га систем може убити ако је потребно.
На пример, рецимо да укључите телефон и отворите музичку апликацију. Док је користите, музичка апликација ће бити процес у првом плану. Када почнете да слушате музику и напуштате музичку апликацију, музика ће наставити да се репродукује као сервисни процес.
Погледајмо Ангри Бирдс као још један пример. Ангри Бирдс би био процес у првом плану док сте га играли. Када напустите Ангри Бирдс и уђете у Гмаил апликацију да бисте прегледали е-пошту, Ангри Бирдс постаје позадински процес (јер не мора ништа да ради у позадини), док Гмаил постаје процес у првом плану. Када се вратите на Ангри Бирдс, то ће постати ваш процес у првом плану и игра ће се брзо наставити. Ангри Бирдс није користио ресурсе у позадини - осим неких РАМ-а - али се брзо наставља јер је остао у кешу и спреман за наставак.
Андроид аутоматски управља процесима
Андроид ради добар посао аутоматског управљања овим процесима, због чега вам не треба убојица задатака на Андроиду.
Када Андроид треба више системских ресурса, прво ће почети да убија најмање важне процесе. Андроид ће почети да убија празне и позадинске процесе да би ослободио меморију ако је ниска. Ако вам је потребно више меморије - на пример, ако играте веома захтевну игру на уређају без много РАМ-а, Андроид ће онда почети да убија процесе сервиса, тако да се преузимање ваше музике и датотека може зауставити.
У већини случајева, Андроид све ово ради без потребе да бринете о томе. Андроид интелигентно користи РАМ меморије вашег уређаја за кеширање апликација и других података, јер нема смисла остављати ваш РАМ празан.
Наравно, Андроид нуди апликације са толико флексибилности да имају простора за лоше понашање. На пример, лоше кодирана апликација може да покрене процес сервиса који се стално приказује у позадини, користећи све време процесора и драстично смањујући трајање батерије.
Једна занимљива ствар коју ћете приметити у антивирусним апликацијама као што је Аваст! за Андроид је да антивирусна апликација користи икону обавештења. ако покушате да онемогућите икону обавештења, Аваст! ће препоручити против њега. Имајући видљиву икону обавештења, Аваст! чини апликацију вишег приоритета, спречавајући Андроид да га сматра позадинском апликацијом и убија је.
Андроид апликације могу почети као одговор на догађаје
Андроид апликације такође могу да почну као одговор на догађаје. На пример, програмер може програмирати своју апликацију да се аутоматски покреће при покретању и покреће услугу у позадини. Апликације се могу покренути као одговор на разне друге догађаје, на пример када снимате фотографију, када се промени веза за пренос података, итд. Ово омогућава апликацијама да извршавају радње као одговор на догађаје без константног покретања у позадини.
Управљање процесима
Не би требало да управљате процесима ручно, али постоји неколико начина да то учините ако желите. Можете да користите мени за више задатака на Андроиду 4.0 и касније да бисте извршили основно управљање процесима. Да бисте му приступили, додирните наменски тастер за више задатака на Некус уређајима. На другим Андроид уређајима, можда ћете морати двапут додирнути или дуго притиснути типку Хоме.
Апликације приказане у менију су вероватно у стању позадинског процеса. Можете их убити тако што ћете превући апликацију лево или десно, што ће је уклонити из меморије уређаја. Ово не би требало да буде потребно, али може помоћи када желите брзо убити апликацију - можда се лоше понаша.
Можете и да одете на екран „Подешавања“, додирните „Апликације“, додирните апликацију и употребите дугме „Присилно заустављање“ да бисте убили неисправну апликацију.
Андроид је заснован на Линуку, а свака апликација на Андроид-у додељена је другом корисничком ИД-у за Линук или корисничком налогу. Ово изолује апликације једни од других. Ако покренете уређај, апликације могу да побегну из свог сандбок-а корисника и покрену са роот привилегијама.
Кредит за слике: ЈД Ханцоцк на Флицкр-у