Как Android управлява процесите

Съдържание:

Как Android управлява процесите
Как Android управлява процесите

Видео: Как Android управлява процесите

Видео: Как Android управлява процесите
Видео: Best Scary Videos of 2023 [Mega Scary Comp. V1] - YouTube 2024, Април
Anonim
Windows позволява на приложенията за настолни компютри да продължат да се показват, независимо дали са видими или не, докато iOS на Apple позволява само на приложенията да изпълняват няколко ограничени задачи във фонов режим. Android седи някъде между тях - приложенията, които се пускат на преден план, имат приоритет, но приложенията имат много повече свобода да се изпълняват на фона, отколкото в iOS.
Windows позволява на приложенията за настолни компютри да продължат да се показват, независимо дали са видими или не, докато iOS на Apple позволява само на приложенията да изпълняват няколко ограничени задачи във фонов режим. Android седи някъде между тях - приложенията, които се пускат на преден план, имат приоритет, но приложенията имат много повече свобода да се изпълняват на фона, отколкото в iOS.

Ще разгледаме точно как Android управлява приложенията и процесите, които се изпълняват на телефона или таблета ви, като разкрива какво се случва във фонов режим.

Йерархията на жизнения цикъл на процеса

Процесът на Android може да бъде в едно от петте различни държави по всяко време, от най-важното до най-малко важно:

  • 1. Процес на преден план: Приложението, което използвате, се счита за процес на преден план. Други процеси също могат да се считат за процеси на преден план - например, ако те взаимодействат с процеса, който понастоящем е на преден план. Има само няколко процеси на преден план във всеки един момент.
  • 2. Видим процес: Видимият процес не е на преден план, но все още засяга това, което виждате на екрана. Например процесът на преден план може да е диалогов прозорец, който ви позволява да виждате приложение зад него - приложението, видимо във фонов режим, ще бъде видим процес.
  • 3. Процес на обслужване: Процесът на обслужване не е свързан с нито едно приложение, което е видимо на екрана ви. Въпреки това, това прави нещо във фонов режим, като например възпроизвеждане на музика или изтегляне на данни във фонов режим. Например, ако започнете да слушате музика и превключвате на друго приложение, възпроизвеждането на музика е във фонов режим, се обработва от услуга.
  • 4. Обща информация: Понастоящем процесите на заден план не се виждат от потребителя. Те нямат влияние върху опита от използването на телефона. Във всеки един момент в момента се изпълняват много фонови процеси. Можете да мислите за тези фонови процеси като за "на пауза" приложения. Те се съхраняват в паметта, за да можете бързо да възобновите използването им, когато се върнете към тях, но те не използват ценно време на процесора или други ресурси, които не са свързани с паметта.
  • 5. Празен процес: Празен процес вече не съдържа данни за приложения. Тя може да бъде съхранявана за целите на кеширането, за да се ускори стартирането на приложението по-късно, или системата може да го убие, ако е необходимо.

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

Image
Image

Нека да разгледаме Angry Birds като друг пример. Ядосаните птици ще бъдат процес на преден план, докато го играете. Когато напуснете Angry Birds и влезте в приложението Gmail, за да видите имейла си, Angry Birds се превръща в процес на заден план (защото не е нужно да правите нищо на заден план), докато Gmail се превръща в процес на преден план. Когато се върнете към Angry Birds, това ще стане ваш процес в преден план и играта ще се възобнови бързо. Angry Birds не използва ресурси на заден план - освен някои RAM - но се възобновява бързо, защото остава кеширано и готово да се възобнови.

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

Android прави добра работа при автоматично управление на тези процеси, поради което не се нуждаете от убиец на задачи на Android.

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

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

Разбира се, Android предоставя приложения с толкова голяма гъвкавост, че имат възможност да се държат зле. Например, лошо кодираното приложение може да стартира процес на услуга, който продължава да работи на заден план през цялото време, като използва цялото време на процесора и драстично намалява живота на батерията.

Интересно нещо, което ще забележите в антивирусни приложения като Avast! за Android е, че антивирусното приложение използва икона за известия. ако се опитате да деактивирате иконата за уведомяване, Avast! ще препоръча срещу него. Чрез наличието на видима икона за известяване, Avast! се превръща в приложение с по-висок приоритет, което не позволява на Android да го разглежда като приложение на заден план и да го убива.

Image
Image

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

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

Image
Image

Управляващи процеси

Не е необходимо да управлявате процесите ръчно, но има няколко начина да го направите, ако искате. Можете да използвате менюто за мултитаскинг на Android 4.0 и по-нови, за да направите някои основни процеси за управление.За да получите достъп до него, докоснете специалния бутон за многозадачност на устройствата Nexus. На други устройства с Android може да се наложи да докоснете двукратно или продължително да натиснете бутона Начало.

Приложенията, показани в менюто, вероятно са в състояние "background process". Можете да ги убиете, като преместите приложението наляво или надясно, което ще го премахнете от паметта на устройството си. Това не трябва да е необходимо, но може да помогне, когато искате бързо да убиете приложение - може би това е зле.

Също така можете да влезете в екрана Настройки, да докоснете Приложения, да докоснете приложение и да използвате бутона за задържане на сила, за да убиете неправилно приложение.
Също така можете да влезете в екрана Настройки, да докоснете Приложения, да докоснете приложение и да използвате бутона за задържане на сила, за да убиете неправилно приложение.
Image
Image

Android се базира на Linux и всяко приложение на Android е присвоено на различен потребителски идентификатор на Linux - или потребителски акаунт. Това изолира приложенията един от друг. Ако коренувате устройството си, приложенията могат да избегнат потребителските си пясъчници и да се изпълняват с права на root.

Препоръчано: