Multitasking Missverständnisse
Ein Lese-Tipp. Fraser Speirs ärgert sich über falsche Empfehlungen der iPhone-Experten aus dem Freundes- und Bekanntenkreis und versucht unter der Überschrift „Misconceptions About iOS Multitasking“ jetzt die hinlänglich bekannten Multitasking-Missverständnisse aus der Welt zu räumen.
Kurz: Freunde die euch empfehlen, alle Apps aus der Multitasking-Bar zu entfernen, da diese das iPhone langsamer machen, Speicher füllen, durchgängig am Akku nagen und Resourcen für sich veranschlagen, die nicht von der gerade aktiven Anwendung genutzt werden können, liegen falsch.
„Abgesehen von einigen wenigen Ausnahmen […] laufen die in der Multitasking-Leiste abgelegten Anwendungen nicht. Wenn der Home-Button des iPhone gedrückt wird, fordert iOS die laufende Anwendung dazu auf sich zu schließen. Fast immer kommen die Apps dieser Aufforderung nach, beenden sich komplett und beanspruchen keine Prozessor-Zeit (sprich: Akku-Kapazitäten) und keinen Arbeitsspeicher mehr.“
iOS-Applikationen kennen nur fünf Zustände:
- Not running – Die App wurde komplett geschlossen.
- Inactive – Die App ist im Vordergrund, bekommt jedoch keinen Input
- Active – Der normale Status einer App, die gerade genutzt wird.
- Background – Eine App die im Hintergrund arbeitet.
- Suspended – Eine im Speicher abgelegte App die keinen Code mehr ausführt.
Drückt man bei aktiven Anwendungen nun den Home-Button, sprint die Applikation in den „Background“ und wird wenige Sekunden später als „Suspended“ markiert. Die App nutzt nun weder CPU noch Akku, kann bei einem erneuten Aufruf aber schnell aus dem RAM geladen werden. Wird der RAM zu voll, entfernt iOS die zuletzt genutzten Anwendungen selbständig. Die händische Entfernung der im Multitasking-Verlauf gelisteten Apps ist nicht notwendig.
„Die Multitasking-Leiste zeigt immer eine Liste der zuletzt genutzen Apps an, unabhängig davon ob diese im Hintergrund arbeiten oder bereits als „Suspended“ markiert wurden und schon wieder aus dem RAM geworfen wurden.“
Ausnahmen gibt es natürlich auch hier. Und jetzt kommen wir zu den „wirklichen“ Hintergrundprozesse. Alle iOS-Anwendungen haben nach dem Druck auf den Home-Button 5 Sekunden Zeit um ihre aktuellen Aufgabe zu beenden, etwa den Spielstand zu sichern, und sich zu schließen. Applikationen die gerade noch einen Download-Auftrag beenden können beim System nach 10 zusätzlichen Minuten fragen. Müssen sich dann jedoch beenden.
Insgesamt bietet das iOS fünf Ausnahmen für Anwendungen die im Hintergrund weiterlaufen müssen:
- Apps die im Hintergrund Musik oder Podcasts abspielen.
- Apps die auf die aktuelle Geo-Position zugreifen. Location-Tracker, Navis, etc.
- VoIP-Apps die auf eingehende Anrufe warten. Skype, Sipgate etc.
- Newsstand Zeitungs-Apps die neue Ausgaben laden.
- Apps die durchgängige Updates von angeschlossenen Geräte-Accessoires erhalten.
Fünf Kategorien die jeweils dann als „Suspended“ markiert werden, wenn die Aufgabe abgeschlossen (z.B. der Podcast zu Ende gespielt) wurde.
Put simply: you do not have to manage background tasks on iOS. The system handles almost every case for you and well written audio, GPS, VOIP, Newsstand and accessory apps will handle the rest.