Multitasking

Aus Android Wiki

Multitasking in Android verfolgt gewissen Regeln, die bestimmen, ob eine App, die im Hintergrund läuft unter welchen Bedingungen beendet wird oder ob diese weiterhin ausgeführt werden kann.

App und Dienst[Bearbeiten | Quelltext bearbeiten]

Google Android unterscheidet grundsätzlich zwischen zwei Typen von Programmen , den Apps (Beispielsweise Google Chrome oder Shazam), und den Diensten (z.B.: Google Play Dienste). Der Unterschied in Betrachtung von Multitasking ist relativ simpel: Dienste haben im Vergleich zu Apps einen höheren Stellenwert und haben somit die Berechtigung ständig im Hintergrund ausgeführt zu werden.

Verhalten bei Speicherknappheit[Bearbeiten | Quelltext bearbeiten]

Ob ein Prozess (unabhängig ob Dienst oder Prozess) beendet werden muss oder nicht, hängt davon ab, wie viel freier RAM, also der Arbeitsspeicher, noch verfügbar ist. Anwendungen im Vordergrund bekommen in der Regel vor allen anderen Prozessen den RAM zur Verfügung gestellt um Verzögerungen vorzubeugen. Muss zur Speichereinsparung ein Prozess beendet werden, wählt das System zuerst die Apps aus. Beim Beenden der Apps werden die Daten und der Status im internen Speicher hinterlegt, um diese App beim "Aufwachen" wieder in den Ursprungsstatus zurückzusetzen. Dieses Verhalten kann vom App-Entwickler (im Gegensatz zu Apples iPhone) nicht gesteuert werden. Ist der Speicher auch nach Beenden der Apps noch zu gering, werden Dienste beendet. Dadurch können Funktionseinschränkungen auftreten, weshalb Dienste stellenmäßig höherwertig sind als Apps und später beendet werden. Auch ist es einem Dienst erlaubt, sollte wieder genügend Speicher zur Verfügung stehen, selbstständig zu starten, einer App hingegen nicht.

Low Memory Killer[Bearbeiten | Quelltext bearbeiten]

Welche App und welcher Dienst beendet wird, wird vom internen Taskmanager, dem sogenannten Low Memory Killer, bestimmt. Dieser führt auch das Beenden aus.