Home » iOS » iOS-Multitasking: So funktioniert es wirklich

iOS-Multitasking: So funktioniert es wirklich

Mit iOS 4 führte Apple das Multitasking ein. Ein Doppelklick auf den Homebutton öffnet die Multitasking-Leiste, die alle zuletzt genutzten Apps auflistet. Seitdem Apple dieses Feature eingeführt hat, hält sich ein Gerücht hartnäckig unter den iOS-Usern: Apps in der iOS-Taskleiste verbrauchen Speicher und Batteriepower, daher muss die Taskleiste ab und zu geleert werden, um die Performance von iOS zu erhalten. Für Devices mit Jailbreak gibt es zahllose App-Killer, die alle Apps in der Taskleiste schließen. „Normale“ User müssen dies von Hand tun. Fraser Speirs von Macworld.com (engl.) erklärte bereits vor einiger Zeit in einem sehr informativen Artikel, warum dies nicht nötig ist.

 

So funktioniert das Multitasking

Entgegen einem weit verbreiteten Irrglauben ist die Liste der Apps in der Taskleiste keine Auflistung von derzeit im Hintergrund laufenden Apps, sondern zeigt die zuletzt genutzten Apps an. Diese sind nicht alle aktiv. Wenn der User den Homebutton drückt, dann beendet sich die derzeit aktive App. Von dieser Regel gibt es nur wenige Ausnahmen. Ein Eingriff des Users in die Taskleiste durch manuelles „Beenden“ von Apps ist daher so gut wie nie notwendig. Aber schauen wir uns das iOS Multitasking mal genauer an.

 

Die 5 Zustände von Apps

iOS kennt für eine App 5 Zustände:

  1. Active – Die App wird momentan genutzt und befindet sich im Vordergrund
  2. Inactive – Die App ist im Vordergrund, wird momentan aber nicht genutzt (z. B. wenn der User sein Device bei aktiver App verriegelt hat)
  3. Not running – Die App wurde komplett beendet und wird lediglich noch in der Taskleiste angezeigt
  4. Background -Die App befindet sich im Hintergrund, arbeitet aber noch
  5. Suspended – Die App ist noch im Speicher, führt aber keinen Code mehr aus

 

Was passiert nach Drücken des Homebuttons?

Wenn der User nun bei einer aktiven App den Homebutton betätigt, wird diese in den Hintergrund verschoben. Nun hat sie 5 Sekunden Zeit, noch laufende Prozesse zu beenden und vom Status Active zu Suspended zu wechseln. In diesem Status verbleibt die App zwar im Speicher des Geräts, verbraucht jedoch weder Prozessor- noch Akkukapazitäten. Benötigt das Gerät nun mehr Speicher als es zur Verfügung hat, wird die älteste App aus dem Speicher gelöscht und damit von Suspended zu Not running versetzt. Der User muss sich also nicht selber darum kümmern, Speicherkapazitäten „freizuschaufeln“

Tasks im Hintergrund

Nun gibt es einige Apps, die mit dem Wechsel in den Hintergrund nicht gleich alle Tasks beenden. Dazu gehören vor allem Apps, die beim Betätigen des Homebuttons noch größere Datenmengen runterladen (z. B. Instacast). Diese Apps können iOS um mehr Zeit bitten und werden so in den Status Background verschoben. Diese Apps sind im Hintergrund noch aktiv, sie verbrauchen also Prozessorkapazitäten und belasten den Akku. Die App bekommt 10 Minuten, um laufende Tasks zu beenden, dann wird auch sie auf Suspended gesetzt.

 

Ausnahmen

Es gibt einige wenige Apps, die von diesen Regeln ausgenommen sind und dauerhaft im Status Background verbleiben:

  • Apps, die im Hintergrund Audio wiedergeben
  • Apps, die auf die aktuelle Geo-Position zugreifen. So z. B. Location-Tracker, Navigation, etc.
  • VoIP-Apps die auf eingehende Anrufe warten.
  • Apps im Zeitungskiosk, die Aktualisierungen und neue Ausgaben laden.
  • Apps, die dauerhaft Aktualisierungen von angeschlossenen externen Geräten erhalten.

Diese Apps dürfen ohne Zeitbeschränkung im Zustand Background verbleiben, belasten also auch den Prozessor und den Akku dauerhaft. Allerdings sollten sie, wenn sie gut programmiert sind, in den Zustand Suspended wechseln, sobald sie keine Aufgabe mehr durchführen. Es ist teil von Apples Kontrollen vor Aufnahme in den App Store, dies zu überprüfen.

 

Fazit

Zusammenfassend lässt sich sagen, dass Eingriffe des User in das Speichermanagement von iOS so gut wie nie nötig sind. Apps wie Skype, Navigationssoftware etc. sollten allerdings zur Sicherheit manuell beendet werden, wenn sie nicht mehr genutzt werden. Dazu öffnet ihr die Taskleiste, berührt eines der Icons für ein paar Sekunden und entfernt dann die gewünschte App durch Berühren des kleinen roten Minuszeichens an der linken oberen Ecke des App-Symbols.

Für gewöhnlich weiß der User, dass Apps wie Skype im Hintergrund aktiv bleiben müssen. Dennoch wäre es wünschenswert, wenn Apple eine Methode einführt, die noch aktiven Apps von den suspendierten zu unterscheiden. Das tägliche komplette Leeren der Taskleiste (und es gibt genug User, die das tun) ist jedoch unnötig.

Keine News mehr verpassen! Unsere App für iOS und Android mit praktischer Push-Funktion.


15 Kommentare

  1. Also das ist schwachsinn… Ich habe jailbreak und sbsettings install.dadurch kann man auf der statusleiste oben die genutzte arbeitsspeicher anzeigen lassen und je mehr ich im „hintergrund“ apps laufen habe oder auch eben nicht umso weniger arbeitsspeicher habe ich zur verfügung.ok dadurch ist mein iphone auch nicht unbedingt langsamer aber muss doch was dran sein wenn mein arbeitsspeicher mb immer weniger werden?!?!?!??

  2. Lieber Zottel.

    Schreibe ich derart unverständlich oder hast du den Artikel nicht gelesen?

    Nochmal zum Verständnis:

    Apps im Suspended Modus verbleiben im Arbeitsspeicher, greifen aber nicht mehr die Kapazitäten des Prozessors und des Akkus an. Warum tun sie das? Damit die App, wenn der User sie wieder öffnet, möglichst schnell und ohne großen Initialisierungsaufwand geöffnet werden kann.
    Das hat vorerst keine Auswirkung auf die Performance des Geräts, solange noch Arbeitsspeicher frei ist.
    Wenn kein weiterer Arbeitsspeicher mehr verfügbar ist, schiebt iOS die Suspended App, die am längsten offen ist in den Not running-Modus, löscht sie also aus dem Arbeitsspeicher. Somit ist dann wieder genug verfügbar, um eine neue App zu starten.
    iOS stellt damit sicher, dass möglichst viele Apps auf Abruf bereit sind, gleichzeitig aber die Performance nicht beeinflusst wird.

    Weniger freie Arbeitsspeicher macht dein iPhone erstmal nicht langsamer. Langsam würde es nur werden, wenn Apps nicht mehr genug Speicher zur Verfügung haben. Das kann aber nicht passieren.

  3. Zitat Alex <a
    Weniger freie Arbeitsspeicher macht dein iPhone erstmal nicht langsamer. Langsam würde es nur werden, wenn Apps nicht mehr genug Speicher zur Verfügung haben. Das kann aber nicht passieren.

    Lieber Alex,
    erstmal danke für den informativen Artikel.
    Immer wieder musste ich aber bei dem iPad 2 feststellen, dass es ab und zu auf Gesten nicht flott reagiert. Das Löschen von etwa 20 Spiele-Apps meines Sohnes aus der Taskleiste hat hier immer geholfen. Also hat hier Apple doch noch irgendwo etwas nachzubessern.

  4. Ist mir bei meinem iPhone noch nie aufgefallen. Ich kann mir allerdings durchaus vorstellen, dass das Verschieben von Suspended in Not running beim Öffnen einer neuen App zu einer Verzögerung führt. Jedoch würde ich das als Kompromiss für ein schnelleres Bereitstellen der meistgenutzten Apps akzeptieren können. Eine Leistungseinbuße im eigentlichen Ausführen der Programme sollte dann jedoch nicht feststellbar sein…

  5. Hab den ultimativen Versich gestartet . Alle Apps geôffnet (50 Stück) und stelle fest das jede Minute ein Prozent Akku sinkt! Also stimmt es doch

  6. Zitat Alex :

    Weniger freie Arbeitsspeicher macht dein iPhone erstmal nicht langsamer. Langsam würde es nur werden, wenn Apps nicht mehr genug Speicher zur Verfügung haben. Das kann aber nicht passieren.

    Bitte? Das kann nicht passieren? Warum kann das nicht passieren? Tut mir leid, aber dem muss ich vehement widersprechen. Bei mir passiert das jedenfalls ständig! Werden mal mehrere Apps geöffnet, machen sich sofort starke Verzögerungen und Abstürze beim Starten und Bedienen von Apps, Input Lags bei Texteingaben, usw. bemerkbar.
    Ein Blick in die SBSettings verrät: „Available Memory: 8MB“. Also werden kurzer Hand sämtliche Apps per Hand geschlossen, bis wieder ausreichend Arbeitsspeicher zur Verfügung steht. Und siehe da, es läuft wieder flüssig, (speicherhungrige) Apps wie Angry Birds Space starten wieder, die Texteingabe verläuft flüssig.
    Zufall?

  7. Vielleicht habe ich Paranoia, aber ich gehöre auch zu denen die evtl. mal alle Apps aus der Multitaskleiste entfernen. Subjektiv habe ich aber auch den Eindruck, dass sich diese Vorgehensweise positiv auf die Akkulaufzeit auswirkt.

  8. Wenn ich den Artikel richtig verstehe ist das so:
    Die Apps werden automatisch von Apple als Inaktiv gekennzeichnet und verbrauchen weder Akku noch Prozessor.
    Ausnahme: Die App nutzt Hintergrunddienste, die 5 Ausnahmen.

    Also verarschen kann ich mich alleine.
    Diese 5 Ausnahmen (Wie Geo, Musik, etc.) sind doch das was Apple als Multitasking bezeichnet.

    Skype, iPod, Maps, FritzBox, WhatsApp… sie alle nutzen diese 5 Ausnahmen, sind Multitaskingfähig. So wie 90% aller Apps im Store.

    Ja, es stimmt das nicht alle Apps die in der Leiste sind Akku und Last brauchen, aber die Apps die Multitasking nutzen, verbrauchen natürlich auch LAst und Akku. FritzBox ist das beste Beispiel, das Telefon würde gar nicht funktionieren wenn die App nciht im Hintergrund aktiv wäre.

    Fazit: Wer ganz sicher gehen will, sollte die Apps die er nicht mehr braucht lieber komplett beenden. Denn wer kann schon genau sagen ob seine Apps die 5 „Ausnahmen“ ausnutzen?

  9. Ich lösche die Dinger raus damit ich ne bessere Ordnung habe, und vlt einmal die Woche weil ich dauerscrollen hasse, ja am ipad nutze ich die Taskleiste öfter vlt liegts an der ipad 4 Finger gGeste das Doppel geklicke am iPod oder iPhone nervt.

  10. @Ali G: Bei 50 gleichzeitig geöffneten Apps ist es sehr wahrscheinlich, dass auch Apps wir Skype etc. dabei sind. Vor allem VoIP-Apps saugen extrem am Akku, da diese auch ständig aktiv sein müssen. Sonst kommt ja kein Anruf an.

    @DAMerrick:

    Der Trick ist ja, dass auch Apps wie iPod, Maps etc. in den Suspended Modus überführt werden. Ihnen ist einfach nur die MÖGLICHKEIT eingeräumt, länger aktiv zu bleiben.
    Nehmen wir uns ein paar Beispiele:
    MAPS: Die Ortung ist nur aktiv, wenn Maps auch aktiv ist. SChiebt man die App in den Hintergrund, muss auch wieder neu geortet werden, wenn sie wieder aktiviert wird.
    iPod: Dass die App Akku verbraucht, wenn sie im Hintergrund Musik abspielt sollte wohl keinen überraschen. Stoppt man die Wiedergabe aber, dann rutscht die App automatisch in den Suspended-Modus. Man muss sie nicht extra beenden.
    FritzBox, Skype etc: Hier verstecken sich die echten Akkufresser. Weil solange man bei Skype angemeldet ist, muss die App auch im Hintergrund aktiv sein. Aber auch das sollte einem beim installieren der Apps klar sein.
    What’sApp: Die App ist Suspended, läuft aber über Push-Nachrichten. Dass Pushdienste mehr Strom verbrauchen ist ebenfalls bekannt, hat aber nichts mit dem Multitasking an sich zu tun.

    Apps, die im Background-Modus laufen, obwohl sie gerade nichts aktiv tun, sind einfach schlecht programmiert.

    Du hast allerdings sicher Recht mit deinem Einwand, dass ich nicht 100 %ig sicher sein kann, welche App im Moment noch aktiv ist. Die Ausnahmeregelung lässt Apple meines Wissens nach nur für sehr wenige Apps zu, für die meisten gilt das 10 Minuten-Limit. Es wäre aber zweckdienlich, wenn diese dann auch in der Taskleiste gekennzeichnet wären.
    Wer aber Dienste wie Skype dauerhaft aktiv hat und sich dann über seinen Akkuverbrauch beschwert, der sollte nochmal in sich gehen. Wenn ich mich bei den VoIP-Apps abmelde, gehen sie aber auch in den Suspended-Modus über. Manuell beendet werden müssen auch sie nicht. Man muss sich halt nur abmelden.

  11. Hi, nur mal aus Interesse, ich habe bis vor kurzem bei Whatsapp immer gewartet, bis ein Foto als verschickt gekennzeichnet wurde, durch zufall habe ich gemerkt, das dies jedoch auch geht, wenn man die App schließt…

    Handelt es sich bei Whatsapp um das Prinzip mit den 10Min Zeit um Daten zu übertragen? eine reine Messaging App ala Skype ist es ja nicht, da ja nach jedem öffnen ein automatisches erneutes Verbinden notwendig ist.

  12. Ich bin immer noch 3GS User und habe ein iPad2. Die Haupt-Apps die ich nutze, nisten sich im Background ein und da ist das gelernte Mittel über die Taskleiste die App zu beenden. Skype und Latitude. Das kann im Umkehrschluss doch eigentlich nur bedeuten, das der Großteil dieser Apps einfach nur schlecht programmiert ist?

    Die Spiele meines Sohnes auf dem iPad2 nisten sich in der Taskleiste ein und an flüssiges Scrollen im Browser oder Mail.app ist nicht mehr möglich. Also wieder über die Taskleiste beenden um das Device überhaupt nutzen zu können.

    Die schlimmste Akkufresser App die ich jeh erlebt habe, ist Google Latitude. Der Akku hält keine 2h mehr. Skype kommt ganz dicht danach. Die Standard Apps wie Mail und Safari, Telefon, SMS und Co schließe ich auch so gut wie nie in der Taskleiste, höchstens wenn man mal den Sauber-mach-Fimmel hat.

    Viel mehr Apps werden auf meinen iDevices garnicht genutzt. Daher vermute ich das diese Unsicherheit bei den Apps schuld dran ist, das viele User unreflektiert die Taskleiste schön leer machen. :-)

  13. @MrSunshine: Ja. Das wäre genau so ein Fall.

    @oschni: Zu Google Latitude kann ich nichts sagen, da ich weder den Service noch die App je genutzt habe. Skype ist aber mitnichten schlecht programmiert, sondern muss als VoIP-App ständig aktiv im Background sein. Solange du bei Skype angemeldet bist verbraucht die App auch Akku. Dessen muss man sich einfach bewusst sein.

  14. Zitat Alex :

    Solange du bei Skype angemeldet bist verbraucht die App auch Akku. Dessen muss man sich einfach bewusst sein.

    Dass Problem ist, dass das nicht allen iOS Usern bewusst ist. Und Apple keine Kennzeichnung der ‚wirklich laufenden‘ Anwendungen vornimmt. So lange kann man den Usern nur empfehlen: Wenn der Akku dauernd leer ist oder die Programme oft abstürzen; alle Anwendungen (oder die die man in den nächsten Minuten nicht mehr benutzen will) über die Taskleiste schließen.

  15. Also ich bin iOS Entwickler und mit dem Wechsel von iOS3 auf iOS4 war es mein persönliches Empfinden, dass viele Apps öfter unerwartet beendet wurden als zuvor. Inzwischen hat sich das meiner Meinung nach gebessert, aber ich befürchte, dass einige Apps (auch aktuelle) nicht 100%ig sauber programmiert sind und unnötig Arbeitsspeicher bunkern. Beim Beta-Testen bei Kunden hatte ich immer wieder Situationen, in denen meine App abgestürzt ist, weil ich grade ein großes Bild oder PDF in den Speicher laden will. Nachdem der Kunde seine „Hintergrund“ Apps geschlossen hatte, lief auch meine App wieder…
    Das Beispiel zeigt, dass es sehr undurchsichtig sein kann, welche App jetzt genau „schlecht“ programmiert ist, denn es wird nicht immer die „älteste“ App geschlossen.