Как Android OS контролира работата на процесите и приложенията

Попаднахме на интересна статия за това, как точно работи Вашият Android смартфон. Ще се опитаме да обясним как операционната система Android контролира работата на процесите и приложенията.

Всичко се случва автоматично и на заден план и като цяло потребителят няма нужда да се намесва с каквото и да било. Това е и причината, ползите от различни Task мениждъри да се подлагат под съмнение и употребата им да не се препоръчва. Но всичко по реда си…

Операционната система Windows (за домашните компютри), позволява на приложенията да вървят на заден план, независимо дали те са видими или не. iOS пък позволява на приложенията да изпълняват само няколко определени задачи на заден план. Android OS стои някъде по средата – има приложения с приоритет, както и такива, които имат по-голяма свобода на действие на заден план.

Жизнен цикъл на процесите

За да стане по-ясно, нека първо поговорим за различните състояния, в които може да бъде даден процес при Android OS. Те са 5 на брой: foreground process, visible, service, background и empty.

1. Foreground процес (на преден план): Използваното към момента приложение се счита за такъв процес. Към тази група спадат също и останалите процеси, които по един или друг начин си взаимодействат с активното приложение.

2. Visible процес (видим): Този процес не е в горната категория, но все пак има ефект върху това, което виждате на дисплея. Например foreground процес може да е диалогов прозорец, който позволява да виждате приложение зад него – въпросното приложение на заден план спада към тази категория visible процеси.

3. Service процес (сервизен): Този процес не е свързан с каквото и да е приложение, видимо на дисплея на устройството. Въпреки това, то извършва някаква дейност на заден план (като слушане на музика или сваляне на данни). Пример за такъв процес е приложението за слушане на музика.

4. Background процес (на заден план): Този тип процеси не са видими за потребителя. Те нямат отражение върху използването на телефона. По всяко време е възможно да има много активни background процеси. За тях може да мислим като приложения, които са поставени в пауза. Те се съхраняват в RAM паметта, за да може бързо да превключите обратно към тях и не изразходват никакво процесорно време.

5. Empty процес: Такъв процес не съдържа никакви данни. Може да бъде държан с цел кеширане и по-бързо стартиране на определени приложения или може да бъде елиминирам автоматично от системата, когато това е нужно.

Да преминем към нагледно обяснение с директни примери.

Да кажем, че включвате своя смартфон и отваряте приложението за слушане на музика. Докато го използвате, то се счита за foreground процес. Когато пуснете да върви някаква песен и излезете от приложението, то ще продължи работата си като service (сервизен) процес.

Нека вземем играта Angry Birds за следващия пример. Докато я играете, тя ще се счита за foreground процес. Когато излезете от нея и стартирате Gmail приложението, Angry Birds се превръща в background процес (защото не е нужно да прави нищо на заден план), докато Gmail излиза като приложение на преден план (foreground процес). Ако превключите обратно към Angry Birds, играта ще стартира бързо, защото е била кеширана и е готова за използване.

Android автоматично контролира процесите

Когато операционната система се нуждае от повече системни ресурси, Android ще започне да прекратява първо най-незначителните процеси, сред които empty (празните) и background (на заден план). В случай, че имате нужда от още повече RAM (ако играете да кажем някоя много тежка игра с красива графика), Android ще започне да прекратява и сервизните (service) процеси. Това може да доведе до спирането на музиката (в случай, че слушате нещо) или свалянето на даден файл от интернет.

В повечето случаи, наистина няма нужда да правите каквото и да било – Android се грижи за пълноценното изпозване на наличната RAM памет като кешира приложения и данни, защото в крайна сметка няма полза RAM паметта да стои празна. Oще повече, че съвременните смартфони и таблети разполага с цели 2GB RAM.

Трябва да отбележим факта обаче, че ако самото приложение не е направено добре, това може да доведе до потенциални проблеми. Например, приложение може да стартира сервизен процес, който да работи на заден план постоянно, използвайки процесора на устройството през цялото време и така батерията да падне само за няколко часа. Иначе казано, важно е смартфона или таблета да може да влиза в т.нар. deep sleep състояние, когато не се използва.

В случай, че използвате някакъв антивирусен софтуер като Avast! на своето устройство, сигурно сте забелязали нещо интересно. Приложението използва иконка в лентата с нотификации и ако се опитате да я изключите, то ще Ви каже, че това не е препоръчително. Когато приложение използва видима икона на това място, то е с по-висок статут, което не позволява на системата да го затвори ако е нужна повече свободна RAM памет.


Приложенията за Android могат да стартират в отговор на определени събития

Приложения могат да се стартират в отговор на различни събития като заснемане на снимка, промяна в свързаността и други. Това им позволява да изпълняват действия само когато са нужни без да вървят постоянно на заден план.

Ръчно контролиране на процесите

Както вече казахме – няма нужда да го правите. Все пак има няколко начина да контролирате ръчно процесите в случай, че желаете.

Мултитаскинг менюто в устройствата с Android 4.0 и по-нов Ви дава възможност за базова манипулация на процесите. Достъпа до него става или чрез натискане на специалния софтуерен бутон (ако е наличен такъв), както и чрез двойно натискане или задържане на хардуерния бутон Home при някои модели телефони.

Приложенията в това меню е най-вероятно да бъдат със статут на background процеси. Лесно може да прекратите избраните от Вас, като ги слайднете наляво или надясно.

Освен това, може да спрете дадено приложение и като влезете в настройките на телефона: Settings > Apps, след което го избирате и натискате бутона Force Stop.

Е, това се случва с приложенията и процесите на Вашето Android устройство. Дано тази статия Ви е била полезна.

снимката е от androidauthority