Mythos Multitasking – Wie funktioniert er wirklich [Update: Nun mit Video]

Ein Tipp, der jeder iOS-Veteran neuen Benutzern als Erstes mitteilt, ist es Apps in der Multitasking Leiste zu schließen, da so das Gerät schneller und Batterie gespart wird.

Wie es sich herausstellt, ist dieser Tipp aber falsch. Fraser Speirs erklärt auf seinem Blog, zu was die Multitasking Leiste wirklich nützt. Da auch ich nach mehreren Jahren iOS Benutzung nicht wirklich wusste, wie Multitasking auf dem iPhone funktioniert, versuche ich es euch heute zu erklären.

Der wichtigste Punkt des Artikels ist folgender:

Die Multitasking Leiste ist keine Liste aller laufenden Apps, sondern eine Liste aller als zuletzt benutzten Apps. Ein iOS Benutzer muss sich nie um Hintergrundprozesse kümmern.

Betätigt ihr den Home Knopf, stoppt iOS den laufenden Prozess, es wird keine CPU Power mehr benutzt, die Akkulaufzeit wird nicht verkürzt und der Ram wird geleert falls nötig.

iOS Apps haben 5 Ausführungszustände:

  • Beendet: Die App wurde geschloßen oder nicht gestartet
  • Inaktiv: die App wurde gestartet, wird aber nicht benutzt (der Benutzer hat zum Beispiel sein Gerät gesperrt)
  • Aktiv: der normale Zustand einer laufenden App
  • Hintergrund: die App ist nicht mehr geöffnet, aber es läuft trotzdem noch ein Prozess
  • Unterbrochen: die App befindet sich noch im Arbeitsspeicher, aber es läuft kein Hintergrundprozess mehr

Betätigt ihr den Home Knopf, ändert der Zustand der App von Aktiv in Hintergrund. Die meisten Apps wechseln dann von Hintergrund in Unterbrochen in wenigen Sekunden.
Apps die sich in diesem Zustand befinden, verweilen noch im Arbeitsspeicher, da sie so gegebenfalls wieder schneller starten können. Sie ändern jedoch nichts an der Prozessor- oder Akkuleistung.

Nun könnte man denken, dass wenn eine App sich im Speicher befindet, müsste man sie schließen, damit das Gerät weiterhin flott läuft. Dies ist aber nicht nötig, da iOS auch diesen Teil übernimmt. Wenn sich einige Apps im Unterbrochen Zustand befinden und man öffnet eine speicherintensive App, wie zum Beispiel ein Spiel, beendet iOS alle unterbrochenen Apps und ändert ihren Zustand in Beendet.

Obwohl der Zustand der Apps sich ändert, merkt der Benutzer davon nichts, er sieht weiterhin eine Lister aller zuletzt gestarteten Apps in der Leiste. Der Zustand der App wird nicht berücksichtigt.

Hintergrundprozesse

Wie oben beschrieben, wechseln Apps ihren Zustand von Hintergrund in Unterbrochen in wenigen Sekunden. Verschiedene Apps können aber eine längere Laufzeit im Hintergrund Zustand “anfragen”.

Fraser Speirs benutzt als Beispiel Instacast, eine Podcast App. Startet man während der Benutzung einen Download einer neuen Folge, würde der sich theoretisch 5 Sekunden nach Schließung der App beenden. Nun kann Instacast den Download aber als Hintergrundprozess angeben und bekommt somit eine längere Laufzeit im Hintergrund Zustand. Natürlich ist dieser Zustand aber nicht unendlich lang. Jede App bekommt nur 10 Minuten zur Verfügung gestellt, bevor iOS die App “unterbricht”.
Der Benutzer muss sich immer noch um nichts kümmern.

Unbestimmte Hintergrundlaufzeit

Zu jeder Regel gibt es Ausnahmen, dies gilt auch für iOS. Es gibt einige Apps, die auf unbestimmte Zeit im Hintergrund laufen können. Um genauer zu sein, gibt es genau 5 Typen von iOS Apps, die dies dürfen:

  • Apps, die eine Audiodatei auch im Hintergrund abspielen können
  • Apps, die den Standort abfragen (zum Beispiel Navigationsapps)
  • Apps, die auf eingehende VoIP Anrufe warten (unter Anderem Skype)
  • Newsstand Apps, die jederzeit neuen Inhalt herunterladen können
  • Apps, die auch im Hintergrund noch mit Zubehör verknüpft sind

Natürlich sollten diese Apps auch nach etwas längerer Zeit geschloßen werden, sollten sie nicht mehr laufen und unbenutzt sein.
Einige native Apps, wie die Mail App, laufen dagegen aber dauernd im Hintergrund.
Laufen Apps dieser Typen im Hintergrund, werden Speicher, Prozessorleistung und Akkulaufzeit belastet. Meist ist der Benutzer sich aber im Klaren, dass solche Apps laufen, immerhin hat er sie gestartet und benutzt. Außerdem muss ein Entwickler beim Einreichen der App in den Reviewprozess immer angeben, zu welcher Sorte seine App gehört. Es ist also nicht möglich, dieses Verfahren “auszunutzen”.

Das einzige Mal, dass sich ein Benutzer wirklich um Hintergrundprozesse kümmern muss, ist wenn eine App sich aufhängt und nicht mehr normal beenden lässt. Dies ist aber hoffentlich nicht der Normalfall einer App.

Fazit

Ein iOS Benutzer muss sich nie um Hintergrundprozesse kümmern, das System kümmert sich um alles. Falls ihr also jemanden trefft, der das Gegenteil behauptet, könnt ihr ihn nun eines besseren belehren.

Update

Fraser Speirs hat nach seinem Blogpost nun ein Video veröffentlicht, wo er die Funktionen der Multitasking Leiste noch einmal erklärt.

Autor: Kevin Wammer
23 Jahre. Blogger, Redakteur, Mitgründer, Podcaster, Gamer, Halb-Italiener, Halb-Luxemburger, Prokrastinat, Buzzword 1, Buzzword 2.
  • http://URL Hansi

    aha ok

  • Ich

    Is doch iwie klar??

  • http://twwa.selfip.org obakuhl

    So jetzt kommt aber das komische, warum läuft mein iPhone 3gs deutlich flüssiger, wenn ich die Apps in der Multitaskingleiste alle schließe. Es ist überhaupt kein vergleich mit davor ;)

    • Tobey

      Geht mir genau so beim iPod touch 4G …

    • Marcel

      das ist auch so

    • Kevin W.

      Das liegt dann wohl daran, dass du die Apps beendest bevor iOS das selbst tun kann. Und da für den normalen Gebrauch nicht “so viel” Speicher benötigt wird, leert iOS den erst, wenn eine speicherintensive App gestartet wird.

  • Tobi

    alles klar!!! danke dir!! ;)

  • http://URL master_II

    Fakt ist, dass z.b. die facebook app wohl nicht in unterbrochen wechselt oder warum verliert man sonst 20% akku innerhalb von 3 stunden wenn das handy gelockt ist aber facebook noch im hintergrund läuft!?

  • Conixr

    Bringt endlich mal etwas mehr Licht in’s Dunkle. Danke!

  • http://URL Daniel

    Fazit: iOS hat kein Multitasking, das vom user direkt benutzt werden kann!

    • http://URL micha

      “Fazit: iOS hat kein Multitasking, das vom user direkt benutzt werden kann!”

      Richtig – und das ist auch gut so. Denn bei Apples Lösung braucht der User sich nicht darum kümmern, dass im Hintergrund laufende Apps das Gerät verlangsamen oder den Akku leer saugen.

      Verstehe gar nicht wie man auf was anderes kommen konnte, schließlich wurde genau DAS damals in der Keynote gesagt und alle haben sich anschließend darüber aufgeregt dass Android ja aber “viel besser” ist mit “echtem” Multitasking.
      Von daher ist der Artikel hier nix Neues und es wundert mich wie jemand tatsächlich glauben konnte, bei einem Gerät von Apple müsse man sich um Hintergrundprozesse Gedanken machen und diese regelmäßig schließen – absurd, denn u.a. genau deswegen habe ich KEIN Android oder Windows Phone. Kenne die Problematik noch von Windows Mobile seinerzeit.

  • http://URL Cyb3rfr3ak

    Ich bleibe aber dabei, was ich nicht mehr brauche, schließe/räume ich aus der “Taskleiste”. Zumal ich Backgrounder zusätzlich habe, was ich einfach nicht mehr missen möchte. Ich lasse das was ich gleich blitzschnell wieder aufrufen möchte laufen und beende das was ich nicht mehr brauche. Volle Kontrolle. Nicht mehr und nicht weniger.

    • Kevin W.

      Genau so benutze ich die Taskleiste auch. Die Apps auf dem Artikelbild sind die Apps, die ich am meisten öffne und deswegen sind die immer drin. Also eine Art zweites Dock

  • zapadat

    Ich wusste das schon vorher, aber endlich erklärt das mal einer. Keine Lust mehr den Typen zuzuschauen, die nach jeder Benutzung ihres iPhones zwanghaft alle Apps aus der Multitasking-Leiste löschen :S

  • http://URL Fabian

    Welches Programm wird im Video benutzt ?

    • Kevin W.

      Die App heißt Instruments und ist Teil der XCode Entwicklerumgebung.

      • http://URL Fabian

        Gibts das auch für Windows und wo kann ich es downloaden?

  • http://URL iMac

    ICH WILL WIEDER BACKGROUNDER BENÜTZEN KÖNNEN, VERDAMMT!!!! :O

  • http://URL micha

    Ein paar Gedanken zum Thema “Kein echtes Multitasking”.

    In meinem Augen ist Apples Implementierung von Multitasking auf mobilen Geräten eine Weiterentwicklung des Multitaskings von Computern wie man es bisher kannte. Sicherlich mögen sie auch andere Gründe gehabt haben, das so umzusetzen.
    Anstatt jedoch ganze Apps im Hintergrund laufen zu lassen, haben sie Systemprozesse implementiert die ausgeführt werden können, während die App selbst pausiert. Das schafft einerseits Sicherheit, da nur Prozesse im Hintergrund laufen können, die Apple vorsieht. Keylogger und Trojaner werden von vornherein ausgeschlossen. Zum anderen Werden Apps gezwungen effizient zu arbeiten. So kann eine Musikabspiel-App im Hintergrund nichts anderes machen, als Musik abzuspielen.

    Man kann Apples Implementierung von Multitasking zwar weiterhin als “beschnittenes” oder “unechtes” Multitasking bezeichnen. In meinen Augen aber, ist das auf mobilen Geräten gar nicht nötig. Dort zählen für mich vielmehr die Akkulaufzeit, die Schonung der verhältnismäßig geringeren Systemressourcen sowie die Sicherheit des Systems. Diese Aspekte berücksichtigt Apples Lösung in meinen Augen optimal.

    • http://andreas-lehr.com andy

      Puh, harter Tobak. Alleine dass Apple den Namen “multitasking” dafür verwendet, ist eigentlich ein Wunder und gehört eigentlich verboten ;)
      Und von einer Weiterentwicklung kann auch keine Rede sein, denn es funktioniert ja einfach gar nicht.
      Beispiel: Ich öffne eine Seite in Safari, wechsel für zwei Minuten in die Twitter App (ersetze durch mail, flipboard, etc.) und danach in den Safari zurück, so läd er die Seite komplett neu…
      Oder wechsel ich aus einem Spiel raus in den Browser, dann wieder zurück, so startet sich das Spiel neu und der “Fortschritt” ist verloren. Natürlich kann es sein, dass das nun schlecht entwickelt wurde (dann betrifft dies aber so einige Spiele), auf der anderen Seite macht man es den Entwicklern doch eher unnötig schwer.

      • micha

        Die Meinung hätte ich vermutlich auch unter diesen Umständen. Lass mich raten: 3GS ? (Hier sorgt der knappere RAM dafür)
        Hab das iPhone 4 und hier funktioniert es wie es soll. Nach dem Wechsel zu einer anderen App lädt Safari die Seite nicht neu bei der Rückkehr. Und auch Spiele speichern ihren Status beim Verlassen, vorausgesetzt die Programmierer unterstützen das Feature. Ja Apps müssen dafür angepasst werden, aber das mussten Computerprogramme genauso als Mehrkern-CPUs stärkere Verbreitung fanden. Muttlerweile trifft das auf so ziemlich jede aktuelle App zu die ich benutze, sei es auf iPad oder iPhone.

      • http://andreas-lehr.com andy

        Nein, iPad 1.
        Mit iOS 5 funkioniert alles auch eher schlechter und instabiler als mit iOS 4.

  • http://URL stip00n

    Interessanter Artikel!

    Allerdngs wird ein 3GS definitiv langsamer (zumindest, wenn es jailbroken ist und einige Tweaks laufen), sobald mehrere Apps in der Multitaskingleiste geöffnet sind.
    Man merkt dann, dass das Scrollen langsamer läuft oder Safari die Webseiten nicht mehr so schnell öffnet. Außerdem kann es zu “Hängern” kommen. Sobald die Apps in der Multitaskingleiste geschlossen werden läuft alles wieder etwas runder.

    • Felix M.

      ist mir auch schon aufgefallen. Aber wie du sagst, du hast Tweaks installiert. Die ziehen natürlich ordentlich RAM und das 3GS hat davon ja jetzt auch nicht zu viel. Bei den neueren Geräten stellt das aber eigentlich kein großes Problem dar. Und Apple entwickelt ja auch nicht für Geräte mit Jailbreak. ;)

  • http://URL mertimaxi

    ich kann das ehrlich gesagt kaum glaube, ich hab auch ein paar tweaks auf meinem 3gs und so normal hat er dann ohne programme im hintergrund 100-120 mb frei, allerdings geht das nach ein paar programmen schnell mal runter auf 10 mb oder sogar 7mb, und je mehr programme ich im hintergrund laufen hab desto lahmer wird es, ohne Killbackground könnt ich das handy kaum benutzen, kann nach ein paar Programmen kaum mehr die Tastatur benutzen ohne dass sie hängt, kann mir das jemand erklären?

  • http://URL KINGMANI

    Aha super!
    Aber ich machs weiterhin zu, kommt mir doch irgendwie etwas schneller vor! Wenn auch nicht egal ist halt so ausgewohnheit :)

  • http://www.elesto.de Jake

    Gut zu wissen, aber ich werde die Apps weiterhin schließen.
    Ziehen sonst zu viel Akku.
    Für was ist es sonst gedacht.

    • http://URL Daniel

      Wenn du den Artikel aufmerksam gelesen hättest, müsstest du wissen, dass sie eben NICHT mehr akku ziehen, weil sie garnicht im Hintergrund laufen, sondern nur pausiert werden.
      Für was es gedacht ist? Eine gute Frage ich vermute sie haben es weil viele Leute ja garnicht wissen, das die apps nicht im Hintergrund laufen.

      Zu den Leuten, die hier sagen es wäre eine weiterentwicklung:
      ein kleines Beispiel: Ich downloade eine große Datei, bekomme eine neue Email lese sie kurz, wechsle wieder zurück zur download app und was passiert? ich kann wieder von vorne runterladen. Das KANN aus meiner Sicht einfach keine Weiterentwicklung sein. Aber gut scheint ja Leute zu geben, denen das eh egal ist ;)

  • http://URL Lucas

    Und das verweilen im RAM von einer unterbrochenen App kostet keine Energie oder was!? Sehe ich aber anders. Minimal Energie kosten auch unterbrochene Apps ,denn höher belasteter RAM = mehr Energieverbrauch!

  • DonVito Corleone

    Habe mal eine Frage gilt das auch für das Multitasking auf dem iPhone 3G der mit ‘Features’ von Snowboard installiert wurde ?

  • Pingback: iOS Multitasking – ist die App an oder aus? | TECH!MEDIAZ

  • Pingback: [Sammelthread] Das iPhone 4S - Seite 112

  • http://URL test

    Fehlt noch der Hinweis: Interpunktionsfehler sowie Rechtschreibfehler sind beabsichtigt und dienen dem Zweck, die kognitive Flexibilität des Lesers zu schulen.

  • http://schmir29@web.de ich

    Das stimmt so nicht. Natürlich wird dort Akku verbraucht, auch gibt es mehrere verschiedene Szenarien wo das App andere als die im Artikel genannten Arbeiten durchführt.

    Bei heutigen Smartphones wird ein App nicht per Klick auf den Home Button geschlossen, sondern nur in einen anderen Zustand versetzt. Dieser kann aber mit bestimmten Komponenten weiterhin kommunizieren und somit bestimmte Tasks permanent oder im Intervall ausführen.

    Es ist korrekt das manche Apps die geschlossen wurden und dort auftauchen nichts machen, das ist aber nicht die Regel und somit ist es völlig korrekt was die Leute immer schreiben. Schließt die Apps um Strom zu sparen denn ihr wisst nicht was Aktivitäten durchführt und was nicht.

    Der Artikel ist zwar kein Quatsch aber Inhaltlich nicht ganz ausgearbeitet und er verfehlt den eigentlichen Programmiergedanken. Sorry aber das solltest du noch einmal überdenken.