#Smartes Leben: Ist Multitasking lebenswichtig?
Ich weiß: Multitasking / Backgrounding ist für viele Smartphone-User DAS Feature schlechthin. Aber irgendwie bin ich mir nicht sicher: Muss eine Nicht-Musikplayer/Nicht-Foto-Upload-Applikation echt im Hintergrund weiterlaufen? Oder reichen nicht auch die verschiedenen Push-Notification-Mechanismen für 95% aller Applikationen völlig aus?
Ich sehe es immer wieder bei Windows Mobile und bei Android, wie die Systeme langsamer und langsamer werden, weil Applikationen eben nicht beendet werden. Diverse Faktoren (mangelnde Prozessorleistung, mangelnder Speicherplatz, komplett andere Nutzungsszenarien der mobilen Geräte im Vergleich mit dem Desktop und letztlich das nahezu überall verfügbare mobile Internet), legen doch eigentlich nahe, dass uneingeschränktes Multitasking und Backgrounding auf mobilen Gadgets für den Großteil der Benutzer und den Großteil der Applikationen unwichtiger und verzichtbarer wird.
Was ich mir vorstelle – und vielleicht kommt es ja eher so, als man denkt – wäre ein intelligenterer, zweigeteilter Ansatz bezogen auf Backgrounding- / Multitasking-Szenarien:
- Die normalen Wald-Feld-und-Wiesen-Applikationen, die kein Multitasking benötigen, bekommen auch keines. Dies sollte das Standardverhalten eines mobilen Systems sein und kann ja mit Hilfe von Push-Notifications und/oder der Auslagerung von aufwändigen Prozessen auf einen Server auch umgangen werden.
- Applikationen, die unbedingt auf echtes Multitasking angewiesen sind, bekommen diese Funktionalität auch zugewiesen und können somit im Background weiterlaufen – etwa Musikplayer, Browser, Upload-Tools. Im Gegenzug behält sich jedoch der Gatekeeper eine wesentlich gründlichere Überprüfung des Laufverhaltens dieser Applikationen vor – um eben die befürchteten Probleme hinsichtlich Akkuverbrauch, Performance und Skalierbarkeit der kleinen Gadgets in Grenzen zu halten.
Damit ließen sich dann eigentlich alle Probleme auf einen Schlag ausschalten – Multitasking / Backgrounding wird für Applikationen, die es benötigen, möglich und alle anderen Applikationen laufen genau so weiter (auch hinsichtlich limitierender Faktoren), wie es vom Gatekeeper, dem Benutzer und dem Entwickler erwartet wird.
Comments(4)
Ja, sicher, wünschenswert ist das schon, aber technisch sicher schwieriger zu machen als die meisten glauben. (Sonst gäbe es das schon.)
Idealerweise müsste das OS CPU-mäßig partitionierbar sein: eine Partition für Apps, die im Hintergrund laufen müssen, mit maximal ingesamt 20-30% CPU-Auslastung, und eine Partition für den Rest. Dann können sich im Hintergrund Dutzende Apps um CPU-Zyklen prügeln, und das System ist im Vordergrund immer noch performant.
Im Embedded-Bereich geht so was (QNX kann das bspw.), aber auf Phones ist das noch nicht angekommen.
Das wäre doch mal ein spontaner Featurewunsch für das eine oder andere neue Smartphone-Betriebssystem.
Ich stimme dir zu: Multitasking braucht man eigentlich nicht. Eine Möglichkeit einen Dienst im Hintergrund laufen zu lassen, schon.
Ein Beispiel: Eine App für VoIP muss eigentlich garnicht laufen. Ein kleiner Dienst, welcher jedoch prüft, ab eingehende Anrufe oder Nachrichten verarrbeitet werden müssen schon.
Da finde ich die Partitionierung des Prozessors schon sehr sinnvoll. So könnte es auch eine Partition für Dienste geben, wo ebenfalls eine Art ServiceManager achtet, ob sich der Dienst auch benimmt. Unter diesen Spielregeln sollte es möglich sein.
Und nein – Push Notifications sind nicht das selbe.
An der Stelle würde ich Dir tatsächlich mal Recht geben.
Aber auch das spricht ja für ein entsprechendes Partitionierungsmodell des Prozessors o.ä. – und technisch unmöglich sollte doch soetwas nun ganz sicher nicht sein.