9Sep

Hoe Android processen beheert

Windows laat desktop-apps draaien, of ze nu zichtbaar zijn of niet, terwijl Apple's iOS alleen apps toestaat om een ​​paar beperkte taken op de achtergrond uit te voeren. Android zit ergens tussenin - apps op de voorgrond hebben prioriteit, maar apps hebben veel meer vrijheid om op de achtergrond te draaien dan op iOS.

We zullen eens kijken naar hoe Android de apps en processen beheert die op je telefoon of tablet worden uitgevoerd, wat demystificeert wat er op de achtergrond gebeurt.

De proceslevenscyclushiërarchie

Een proces op Android kan op elk moment in een van de vijf verschillende toestanden zijn, van het belangrijkste tot het minst belangrijke:

  • 1. Proces op de voorgrond : De app die u gebruikt, wordt beschouwd als het proces op de voorgrond. Andere processen kunnen ook worden beschouwd als voorgrondprocessen, bijvoorbeeld als ze communiceren met het proces dat zich op dit moment op de voorgrond bevindt. Er zijn slechts een paar voorgrondprocessen op een bepaald moment.
  • 2. Zichtbaar proces : een zichtbaar proces staat niet op de voorgrond, maar heeft nog steeds invloed op wat u op uw scherm ziet. Het voorgrondproces kan bijvoorbeeld een dialoogvenster zijn waarmee u een app erachter kunt zien - de app die zichtbaar is op de achtergrond zou een zichtbaar proces zijn.
  • 3. Serviceproces : een serviceproces is niet gekoppeld aan een app die zichtbaar is op uw scherm. Het doet echter iets op de achtergrond, zoals het afspelen van muziek of het downloaden van gegevens op de achtergrond. Als u bijvoorbeeld muziek begint te spelen en naar een andere app overschakelt, wordt het afspelen van de muziek op de achtergrond afgehandeld door een serviceproces.
  • 4. Achtergrondproces : Achtergrondprocessen zijn momenteel niet zichtbaar voor de gebruiker. Ze hebben geen invloed op de beleving van het gebruik van de telefoon. Op een gegeven moment zijn er veel achtergrondprocessen actief. Je kunt deze achtergrondprocessen beschouwen als "gepauzeerde" apps. Ze worden in het geheugen bewaard, zodat je ze snel kunt gebruiken wanneer je ze weer gebruikt, maar ze gebruiken geen kostbare cpu-tijd of andere bronnen zonder geheugen.
  • 5. Leeg proces : een leeg proces bevat geen app-gegevens meer. Het kan worden bewaard voor cachedoeleinden om app-lanceringen later te versnellen, of het systeem kan het indien nodig doden.

Laten we bijvoorbeeld zeggen dat u uw telefoon aanzet en een muziek-app opent. Terwijl je het gebruikt, zal de muziek-app een voorgrondproces zijn. Wanneer u muziek begint te spelen en de muziek-app verlaat, blijft de muziek spelen als een serviceproces.

Laten we Angry Birds als een ander voorbeeld beschouwen. Angry Birds zou een voorgrondproces zijn terwijl je het aan het spelen was. Wanneer je Angry Birds verlaat en de Gmail-app opent om je e-mail te bekijken, wordt Angry Birds een achtergrondproces( omdat het niets op de achtergrond hoeft te doen), terwijl Gmail het proces op de voorgrond wordt. Als je teruggaat naar Angry Birds, wordt dit je voorgrondproces en wordt het spel snel hervat. Angry Birds gebruikte geen bronnen op de achtergrond - afgezien van wat RAM - maar het wordt snel hervat omdat het in de cache bleef en klaar was om te hervatten.

Android leidt automatisch processen

Android doet goed werk aan het automatisch beheren van deze processen. Daarom hebt u geen taakmoordenaar nodig op Android.

Wanneer Android meer systeembronnen nodig heeft, zal het eerst de minst belangrijke processen gaan doden. Android begint lege en achtergrondprocessen te doden om geheugen vrij te maken als je bijna leeg bent. Als je meer geheugen nodig hebt, bijvoorbeeld als je een bijzonder veeleisende game speelt op een apparaat zonder veel RAM, zal Android de serviceprocessen gaan doden, zodat je streaming muziek en bestandsdownloads kunnen stoppen.

In de meeste gevallen doet Android dit allemaal zonder dat u zich daar zorgen over hoeft te maken. Android maakt op intelligente wijze gebruik van het RAM van uw apparaat voor het cachen van apps en andere gegevens, omdat het geen zin heeft om uw RAM leeg te laten.

Natuurlijk biedt Android apps zoveel flexibiliteit dat ze de ruimte hebben om zich te misdragen. Een slecht gecodeerde app kan bijvoorbeeld een serviceproces starten dat voortdurend op de achtergrond wordt uitgevoerd, waarbij alle CPU-tijd wordt gebruikt en de levensduur van de batterij drastisch wordt verkort.

Een interessant ding dat je zult opvallen in antivirus-apps zoals Avast!voor Android is dat de antivirus-app een meldingspictogram gebruikt.als u het meldingspictogram probeert uit te schakelen, is Avast!zal het aanbevelen. Door een zichtbaar meldingspictogram te gebruiken, heeft Avast!maakt zichzelf een app met hogere prioriteit, waardoor Android een achtergrondapp niet als een app kan beschouwen en deze niet kan doden.

Android-apps kunnen starten als reactie op gebeurtenissen

Android-apps kunnen ook starten als reactie op gebeurtenissen. Een ontwikkelaar kan bijvoorbeeld zijn app zodanig programmeren dat deze automatisch wordt uitgevoerd bij het opstarten en een service op de achtergrond uitvoert. Apps kunnen worden gestart als reactie op verschillende andere gebeurtenissen, zoals wanneer u een foto maakt, wanneer uw gegevensverbinding wordt gewijzigd, enzovoort. Hierdoor kunnen apps acties uitvoeren als reactie op gebeurtenissen zonder voortdurend op de achtergrond te worden uitgevoerd.

Processen beheren

U hoeft processen niet handmatig te beheren, maar er zijn een aantal manieren om het te doen als u dat wilt. U kunt het multitasking-menu op Android 4.0 en later gebruiken om basisprocesbeheer uit te voeren. Tik om toegang te krijgen op de speciale multitasking-knop op Nexus-apparaten. Op andere Android-apparaten moet u mogelijk twee keer tikken of de knop Home lang indrukken.

-apps die in het menu worden weergegeven, bevinden zich waarschijnlijk in de status "achtergrondproces".Je kunt ze doden door een app naar links of rechts te vegen, waardoor deze uit het geheugen van je apparaat wordt verwijderd. Dit zou niet nodig moeten zijn, maar kan helpen wanneer je snel een app wilt doden - misschien doet het zich misdragen.

U kunt ook naar het scherm Instellingen gaan, op Apps tikken, op een app tikken en de knop Force stop gebruiken om een ​​app die zich misdraagt ​​te doden.

Android is gebaseerd op Linux en elke app op Android is toegewezen aan een ander Linux-gebruikers-ID - of gebruikersaccount. Dit isoleert apps van elkaar. Als u uw apparaat rooit, kunnen apps aan hun gebruikerssandboxen ontsnappen en met rootprivileges werken.

Image Credit: JD Hancock op Flickr