Wie Android Prozesse verwaltet
Windows ermöglicht Desktop-Apps, unabhängig davon, ob sie sichtbar sind oder nicht, während Apples iOS nur zulässt, dass Apps einige begrenzte Aufgaben im Hintergrund ausführen. Android sitzt irgendwo dazwischen - Apps, die im Vordergrund ausgeführt werden, haben Priorität, Apps können jedoch viel mehr im Hintergrund ausgeführt werden als unter iOS.
Wir werden einen genauen Blick darauf werfen, wie Android Apps und Prozesse verwaltet, die auf Ihrem Telefon oder Tablet ausgeführt werden, und so das Hintergrundgeschehen entschlüsseln.
Die Prozesslebenszyklus-Hierarchie
Ein Prozess unter Android kann sich zu einem bestimmten Zeitpunkt in einem von fünf verschiedenen Zuständen befinden, vom wichtigsten bis zum unwichtigsten:
- 1. Vordergrundprozess: Die von Ihnen verwendete App wird als Vordergrundprozess betrachtet. Andere Prozesse können auch als Vordergrundprozesse betrachtet werden - zum Beispiel, wenn sie mit dem Prozess interagieren, der aktuell im Vordergrund steht. Zu einem bestimmten Zeitpunkt gibt es nur wenige Vordergrundprozesse.
- 2. Sichtbarer Prozess: Ein sichtbarer Prozess ist nicht im Vordergrund, wirkt sich jedoch auf das aus, was Sie auf Ihrem Bildschirm sehen. Der Vordergrundprozess kann beispielsweise ein Dialog sein, in dem Sie eine dahinterliegende App sehen können - die im Hintergrund sichtbare App wäre ein sichtbarer Prozess.
- 3. Serviceprozess: Ein Serviceprozess ist nicht an eine App gebunden, die auf Ihrem Bildschirm angezeigt wird. Allerdings müssen Sie etwas im Hintergrund tun, z. B. Musik abspielen oder Daten im Hintergrund herunterladen. Wenn Sie beispielsweise Musik abspielen und zu einer anderen App wechseln, wird die Musikwiedergabe im Hintergrund von einem Serviceprozess bearbeitet.
- 4. Hintergrundprozess: Hintergrundprozesse sind für den Benutzer derzeit nicht sichtbar. Sie haben keinen Einfluss auf die Erfahrung mit dem Telefon. Zu einem bestimmten Zeitpunkt laufen derzeit viele Hintergrundprozesse. Sie können sich diese Hintergrundprozesse als "angehaltene" Apps vorstellen. Sie werden im Speicher gehalten, sodass Sie sie schnell wieder verwenden können, wenn Sie zu ihnen zurückkehren. Sie verwenden jedoch keine wertvolle CPU-Zeit oder andere Ressourcen, die nicht im Arbeitsspeicher liegen.
- 5. Prozess leeren: Ein leerer Prozess enthält keine App-Daten mehr. Es kann zu Zwischenspeicherungszwecken aufbewahrt werden, um App-Starts später zu beschleunigen, oder das System kann es nach Bedarf abbrechen.
Angenommen, Sie schalten Ihr Telefon ein und öffnen eine Musik-App. Während Sie es verwenden, ist die Musik-App ein Vordergrundprozess. Wenn Sie mit der Musikwiedergabe beginnen und die Musik-App verlassen, wird die Musik weiterhin als Serviceprozess abgespielt.
Sehen wir uns Angry Birds als weiteres Beispiel an. Angry Birds wären während des Spiels ein Vordergrundprozess. Wenn Sie Angry Birds verlassen und die Google Mail-App aufrufen, um Ihre E-Mails anzuzeigen, wird Angry Birds zu einem Hintergrundprozess (da er im Hintergrund nichts tun muss), während Google Mail zum Vordergrundprozess wird. Wenn Sie zu Angry Birds zurückkehren, wird dies zu Ihrem Vordergrundprozess und das Spiel wird schnell fortgesetzt. Angry Birds verwendete keine Ressourcen im Hintergrund - abgesehen von etwas RAM -, wurde aber schnell wieder aufgenommen, da er zwischengespeichert blieb und wieder aufgenommen werden konnte.
Android verwaltet Prozesse automatisch
Android kann diese Prozesse automatisch verwalten, weshalb Sie unter Android keinen Taskkiller benötigen.
Wenn Android mehr Systemressourcen benötigt, werden zuerst die am wenigsten wichtigen Prozesse abgebrochen. Android beginnt, leere Prozesse und Hintergrundprozesse zu beenden, um Speicherplatz freizugeben, wenn der Speicher knapp wird. Wenn Sie mehr Speicher benötigen - zum Beispiel, wenn Sie ein besonders anspruchsvolles Spiel auf einem Gerät ohne viel Arbeitsspeicher spielen, bricht Android die Dienstprozesse ab, so dass das Streaming von Musik und das Herunterladen von Dateien möglicherweise unterbrochen wird.
In den meisten Fällen macht Android dies alles, ohne dass Sie sich darum kümmern müssen. Android verwendet den Arbeitsspeicher Ihres Geräts intelligent für das Zwischenspeichern von Apps und anderen Daten, da es keinen Sinn hat, den Arbeitsspeicher leer zu lassen.
Natürlich bietet Android Apps mit so viel Flexibilität, dass sie sich schlecht benehmen können. Beispielsweise kann eine schlecht codierte App einen Serviceprozess starten, der die ganze Zeit im Hintergrund läuft, die gesamte CPU-Zeit beansprucht und die Akkulaufzeit drastisch verkürzt.
Eine interessante Sache, die Sie in Antivirus-Apps wie Avast! Für Android verwendet die Antivirus-App ein Benachrichtigungssymbol. Wenn Sie versuchen, das Benachrichtigungssymbol zu deaktivieren, wird Avast! werde dagegen empfehlen. Durch ein sichtbares Benachrichtigungssymbol kann Avast! erstellt eine App mit höherer Priorität, die Android daran hindert, sie als Hintergrund-App zu betrachten und zu töten.
Android-Apps können als Reaktion auf Ereignisse gestartet werden
Android-Apps können auch als Reaktion auf Ereignisse gestartet werden. Ein Entwickler könnte beispielsweise programmieren, dass seine App beim Start automatisch ausgeführt wird und im Hintergrund einen Dienst ausführt. Apps können als Reaktion auf verschiedene andere Ereignisse gestartet werden, z. B. wenn Sie ein Foto aufnehmen, wenn sich Ihre Datenverbindung ändert und so weiter. Dadurch können Apps als Reaktion auf Ereignisse Aktionen ausführen, ohne ständig im Hintergrund ausgeführt zu werden.
Prozesse verwalten
Sie sollten Prozesse nicht manuell verwalten müssen, es gibt jedoch einige Möglichkeiten, dies zu tun, wenn Sie möchten. Sie können das Multitasking-Menü unter Android 4.0 und höher verwenden, um einige grundlegende Prozessverwaltungen durchzuführen. Um darauf zuzugreifen, tippen Sie auf die dedizierte Multitasking-Schaltfläche der Nexus-Geräte. Auf anderen Android-Geräten müssen Sie möglicherweise die Home-Taste zweimal antippen oder lange drücken.
Apps, die im Menü angezeigt werden, befinden sich wahrscheinlich im Status „Hintergrundprozess“. Sie können sie beenden, indem Sie eine App nach links oder rechts ziehen, um sie aus dem Speicher Ihres Geräts zu entfernen. Dies sollte nicht notwendig sein, kann jedoch hilfreich sein, wenn Sie eine App schnell beenden möchten.
Sie können auch auf den Einstellungsbildschirm gehen, auf Apps tippen, auf eine App tippen und die Schaltfläche Stop erzwingen verwenden, um eine fehlerhafte App zu beenden.
Android basiert auf Linux und jede App auf Android wird einer anderen Linux-Benutzer-ID oder einem anderen Benutzer-Konto zugewiesen. Dadurch werden Apps voneinander isoliert. Wenn Sie Ihr Gerät rooten, können Apps ihre Benutzer-Sandboxen verlassen und mit Root-Berechtigungen ausgeführt werden.
Bildnachweis: JD Hancock auf Flickr