9Sep

Wie Android Prozesse verwaltet

Windows ermöglicht, dass Desktop-Apps weiterlaufen, egal ob sie sichtbar sind oder nicht, während Apples iOS Apps nur erlaubt, einige begrenzte Aufgaben im Hintergrund auszuführen. Android befindet sich irgendwo dazwischen - Apps, die im Vordergrund laufen, werden priorisiert, aber Apps haben viel mehr Freiheiten im Hintergrund als auf iOS.

Wir werden uns genau ansehen, wie Android die Apps und Prozesse verwaltet, die auf Ihrem Telefon oder Tablet laufen, und so entmystifizieren, was im Hintergrund passiert.

Die Prozesslebenszyklushierarchie

Ein Prozess unter Android kann sich zu jedem beliebigen Zeitpunkt in einem von fünf verschiedenen Zuständen befinden, von am wichtigsten bis unwichtigsten:

  • 1. Vordergrundprozess : Die von Ihnen verwendete Anwendung wird als Vordergrundprozess betrachtet. Andere Prozesse können auch als Vordergrundprozesse betrachtet werden, zum Beispiel wenn sie mit dem Prozess interagieren, der gerade im Vordergrund steht. Es gibt nur wenige Vordergrundprozesse zu einem bestimmten Zeitpunkt.
  • 2. Sichtbarer Prozess : Ein sichtbarer Prozess steht nicht im Vordergrund, beeinflusst aber immer noch das, was Sie auf Ihrem Bildschirm sehen. Der Vordergrundprozess kann beispielsweise ein Dialogfeld sein, in dem Sie eine App dahinter sehen können - die im Hintergrund sichtbare App wäre ein sichtbarer Prozess.
  • 3. Dienstprozess : Ein Dienstprozess ist nicht an eine App gebunden, die auf Ihrem Bildschirm angezeigt wird. Es wird jedoch etwas im Hintergrund ausgeführt, z. B. das Abspielen von Musik oder das Herunterladen von Daten im Hintergrund. Wenn Sie beispielsweise Musik wiedergeben und zu einer anderen App wechseln, wird die Musikwiedergabe im Hintergrund von einem Serviceprozess behandelt.
  • 4. Hintergrundprozess : Hintergrundprozesse sind für den Benutzer derzeit nicht sichtbar. Sie haben keinen Einfluss auf die Erfahrung mit dem Telefonieren. Zu jedem Zeitpunkt laufen derzeit viele Hintergrundprozesse. Sie können sich diese Hintergrundprozesse als "pausierte" Apps vorstellen. Sie werden im Speicher gehalten, sodass Sie sie schnell wieder verwenden können, wenn Sie zu ihnen zurückkehren, aber sie verwenden keine wertvolle CPU-Zeit oder andere Ressourcen ohne Arbeitsspeicher.
  • 5. Leerer Prozess : Ein leerer Prozess enthält keine App-Daten mehr. Es kann zu Zwecken des Cachings beibehalten werden, um die App-Starts später zu beschleunigen, oder das System kann es bei Bedarf beenden.

Nehmen wir beispielsweise an, Sie schalten Ihr Telefon ein und öffnen eine Musik-App. Während Sie es verwenden, wird die Musik-App ein Vordergrundprozess sein. Wenn Sie Musik wiedergeben und die Musik-App verlassen, wird die Musik weiterhin als Dienstprozess wiedergegeben.

Betrachten wir Angry Birds als ein weiteres Beispiel. Angry Birds wäre ein Vordergrundprozess, während du es spielst. Wenn Sie Angry Birds verlassen und die Gmail-App aufrufen, um Ihre E-Mails anzuzeigen, wird Angry Birds zum Hintergrundprozess( da es im Hintergrund nichts zu tun hat), während Gmail zum Vordergrundprozess wird. Wenn du zurück zu Angry Birds wechselst, wird es zu deinem Vordergrundprozess und das Spiel wird schnell fortgesetzt. Angry Birds verwendete keine Ressourcen im Hintergrund - abgesehen von etwas RAM - aber es wird schnell fortgesetzt, weil es zwischengespeichert und bereit für die Fortsetzung war.

Android verwaltet Prozesse automatisch

Android kann diese Prozesse automatisch verwalten, weshalb Sie auf Android keinen Task Killer brauchen.

Wenn Android mehr Systemressourcen benötigt, werden zuerst die unwichtigsten Prozesse beendet. Android wird damit beginnen, Leer- und Hintergrundprozesse zu beenden, um Speicher freizugeben, wenn Sie knapp werden. Wenn Sie mehr Speicher benötigen - zum Beispiel, wenn Sie ein besonders anspruchsvolles Spiel auf einem Gerät ohne viel RAM spielen, wird Android damit beginnen, Dienstprozesse zu beenden, sodass Ihre Streaming-Musik und Dateidownloads möglicherweise gestoppt werden.

In den meisten Fällen macht Android dies alles, ohne dass Sie sich darum kümmern müssen. Android nutzt intelligent den Arbeitsspeicher Ihres Geräts zum Zwischenspeichern von Apps und anderen Daten, da es keinen Sinn macht, Ihr RAM leer zu lassen.

Natürlich bietet Android Apps so viel Flexibilität, dass sie Raum für Fehlverhalten haben. Zum Beispiel könnte eine schlecht codierte App einen Serviceprozess starten, der ständig im Hintergrund läuft und die gesamte CPU-Zeit in Anspruch nimmt und die Akkulaufzeit dramatisch verkürzt.

Eine interessante Sache, die Sie in Antiviren-Apps wie Avast bemerken werden! Für Android ist, dass die Antiviren-App ein Benachrichtigungssymbol verwendet. Wenn Sie versuchen, das Benachrichtigungssymbol zu deaktivieren, wird Avast!werde es dagegen empfehlen. Mit einem sichtbaren Benachrichtigungssymbol kann Avast!macht sich eine App mit höherer Priorität, die Android davon abhält, sie als Hintergrund-App zu betrachten und sie zu töten.

Android-Apps können als Reaktion auf Ereignisse starten

Android-Apps können auch als Reaktion auf Ereignisse gestartet werden. Ein Entwickler könnte beispielsweise seine App so programmieren, dass sie automatisch beim Start ausgeführt wird und einen Dienst im Hintergrund ausführt. Apps können als Reaktion auf eine Vielzahl anderer Ereignisse gestartet werden, z. B. wenn Sie ein Bild aufnehmen, wenn sich Ihre Datenverbindung ändert, und so weiter. Dadurch können Apps Aktionen als Reaktion auf Ereignisse ausführen, ohne ständig im Hintergrund zu laufen.

Verwalten von Prozessen

Sie sollten Prozesse nicht manuell verwalten müssen, aber es gibt 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 grundlegende Prozessmanagementfunktionen auszuführen. Tippen Sie auf die entsprechende Multitasking-Schaltfläche auf Nexus-Geräten, um darauf zuzugreifen. Auf anderen Android-Geräten müssen Sie möglicherweise zweimal auf die Home-Taste tippen oder lang drücken.

Apps, die im Menü angezeigt werden, befinden sich wahrscheinlich im Status "Hintergrundprozess".Sie können sie töten, indem Sie eine App nach links oder rechts wischen, wodurch sie aus dem Speicher Ihres Geräts entfernt wird. Dies sollte nicht notwendig sein, kann aber helfen, wenn Sie eine App schnell beenden möchten - vielleicht ist es ein Fehlverhalten.

Sie können auch auf den Einstellungsbildschirm gehen, auf Apps tippen, auf eine App tippen und die Schaltfläche Erzwungener Stopp verwenden, um eine unsinnige App zu beenden.

Android basiert auf Linux und jede App auf Android ist einer anderen Linux-Benutzerkennung - oder einem Benutzerkonto - zugeordnet. Dies isoliert Apps voneinander. Wenn Sie Ihr Gerät rooten, können Apps ihre Benutzer-Sandboxes verlassen und mit Root-Rechten ausgeführt werden.

Bildnachweis: JD Hancock auf Flickr