Skip to content

iPhone OS 4 Inside: Multitasking

Mit dem gestern vorgestellten und ab Sommer für alle verfügbaren iPhone OS 4 wird es Apple Entwicklern von Dritt-Software erstmals ermöglichen, ihre Apps als Hintergrundprozesse laufen zu lassen. Das magische Wort lautet hier "Multitasking" Ein bisschen verwunderlich ist dieser Schritt schon, wurde man in der Vergangenheit doch nicht müde darauf hinzuweisen, dass Hintergrundprozesse auf der einen Seite den Akku schneller leer saugen als man "Multitasking" sagen kann und zudem die Leistung des Geräts in den Keller ziehen. Auf der anderen Seite würde man durch Hintergrundprozesse Schadsoftware Tür und Tor öffnen. Apples Lösung hierfür nannte sich bis gestern "Push Notifications". Mit iPhone OS 4 werden nun also auch Hintergrundprozesse auf dem iPhone möglich. Wie aber will Apple die zuvor genannten Probleme in den Griff bekommen? Nun in Sachen Schadsoftware vertraut man auch in Zukunft auf den hauseigenen Zulassungsprozess von Apps für den AppStore. Wer diesen per Jailbreak umgeht hat in Apples Augen eben selbst Schuld und muss dann auch mit den Konsequenzen leben. In Sachen Akku- und Leistungsproblemen greift Apple zu einem ebenso simplen wie effektiven Trick.

Während auf anderen Systemen das Multitasking komplett vom System übernommen wird und die Anwendungen einfach im Hintergrund weiterlaufen als wären sie im Vordergrund, müssen die App-Entwickler auf dem iPhone selbst aktiv werden und entsprechende APIs in ihre Apps integrieren. Dadurch ist es für Apple natürlich einfacher zu kontrollieren, wie Apps im Hintergrund arbeiten können. Scott Forstall stellte auf dem gestrigen Event die dafür von Apple zur Verfügung gestellten APIs kurz vor. Die wichtigsten sind dafür wohl "Background Audio", "Voice over IP", "Background Location" und "Task Completion". Über allem schwebt dabei der durch einen doppelten Druck auf den Homebutton ausgelöster App-Switcher, in dem alle aktuell laufenden Apps angezeigt werden. Die angesprochenen APIs sorgen dafür, dass z.B. Musik weiterläuft, auch wenn man zu einer anderen App wechselt (Background Audio), man VoIP-Anrufe erhalten kann, auch wenn man gerade eine andere App verwendet (Voice over IP), Navi-Apps auch weiterhin Ansagen machen, selbst wenn man an einer roten Ampel mal schnell in die Mails schauen möchte (Background Location) oder Prozesse wie Bilder-Uploads auch weiterlaufen, wenn man vor ihrer Beendigung zu einer anderen App wechselt (Task Completion). Für jede dieser API hat Apple intern bestimmte Regeln festgelegt, so dass eine App vom OS auch zwangsbeendet werden kann, sollte sie zuviele Ressourcen benötigen.

Die für die meisten Anwender wohl wichtigste, weil im Alltagsgebrauch wohl am häufigsten genutzte Funktion stellt jedoch das "Fast App Switching" dar. Unter ihr kann man sich das klassische Multitasking vorstellen. Ein Beispiel, welches Steve Jobs auch in seiner Präsentation zeigte ist das Öffnen eines Links aus einer Mail heraus. Bislang wurde daraufhin Mail beendet und Safari geöffnet. Wollte man anschließend wieder zu der zuletzt geöffneten Mail wechseln, musste Safari geschlossen, Mail geöffnet und zu der entsprechenden Mail navigiert werden. Dies wurde mit "Fast App Switching" nun drastisch verbessert. Wenn man es genau nimmt, simuliert diese Funktion jedoch eigentlich nur Multitasking. In der Realität speichert die verlassene App einfach nur ihren aktuellen Status uns verbraucht anschließend im Hintergrund keinerlei Ressourcen mehr. Wechselt man dann per App-Switcher wieder zu ihr zurück, landet man genau an der Stelle, an der man die App verlassen hat und sie wird wieder aktiv. Eine aus meiner Sicht sehr gute und ressourcenschonende Variante des Mutitasking, die lediglich ein paar kleinere Anpassungen der App seitens der Entwickler erfordert. Ohne diese Anpassungen funktioniert "Fast App Switching" nicht, weswegen es nicht weiter verwunderlich ist, dass es in der ersten Beta von iPhone OS 4 lediglich mit den von Apple mitgelieferten Apps ausprobiert werden kann, sofern man die eigene App noch nicht angepasst hat.

Vor diesem Hintergrund darf man Steve Jobs durchaus zustimmen wenn er über Multitasking auf mobilen Endgeräten sagt "We weren’t the first at this party, but we’re gonna be the best." Als kleinen Ausblick auf das im Sommer kommende große Update für meine App zum Blog kann ich schonmal ankündigen, dass es natürlich eine entsprechende Umsetzung geben wird, so dass man nach dem zurückkehren in die App auch wieder im letzten Artikel landet, inkl. einer Möglichkeit die Artikelliste zu aktualisieren.

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Flo am :

Okay, das ging einigermaßen schnell. Ich darf an dieser Stelle verkünden, dass in meiner App (Version 4.0 - verfügbar ab Sommer) "Fast App Switching" bereits funktioniert... :-)

phpman am :

Hieß der nicht Scott Forstall? ;-)

Flo am :

Ja, Scott hat die Details zu Multitasking gezeigt. Das genannte Beispiel hat aber Steve persönlich gebracht. Habe extra nochmal nachgeschaut... :-)

phpman am :

Ich meinte in deinem Text das hier: "Steve Forstall" ;-)

Flo am :

Oh, verdammt - das ist natürlich ein Freud'scher Fehler... Ich korrigiere das sofort.

phpman am :

Heutzutage heißt halt jeder Steve ^^

Hätte übrigens noch einen Verbesserungsvorschlag für deine App: Wäre schön wenn man in der Artikelliste bzw. im Artikel sehen würde wie viele Kommentare geschrieben wurden.

Flo am :

Ich sag nur Version 4.0... :-)

Archetim am :

Also ich kann hier nicht so ganz folgen. Das beschriebene Beispiel für Fast App-Switching funktioniert doch jetzt auch schon so ähnlich? Wenn ich in einer Mail einen externen Link öffne, schließt sich die Mail.App und Safari startet. Soweit, so gut... Wenn ich dann Safari schließe und wieder in die Mail.App gehe, komme ich jedoch exakt wieder an der Stelle raus, wo ich den Link geöffnet hatte. Ich muss also mitnichten mich erst wieder zu der entsprechenden Mail hangeln. Bei anderen Apps geht das momentan natürlich noch nicht, aber das Beispiel Mail und Safari ist unglücklich gewählt, da es in ähnlicher Form ja jetzt schon so läuft.

Flo am :

Okay, vielleicht war das Beispiel in der Tat ein wenig unglücklich. Habe versucht das Beispiel aus der Keynote wiederzugeben. Ich denke aber, im Großen und Ganzen kann man sich vorstellen, was gemeint war.

Archetim am :

Letztlich hat Steve das Beispiel ja so ungünstig gewählt. Aber wenn das dann mit allen Apps so laufen soll, ist das ein erfreulicher Fortschritt.

Matze am :

Kann es dann auch sein das dank Chatdienst in OS4.0 auch hier endlich ein Chat in der App einzug hält wie von mir schonmal gewünscht?!? Würde das diskutieren über deine super Artikel erleichtern!!!!!!

Tabasco Bob am :

wenn ich es richtig verstanden habe müssen die apps auf Multitasking programmiert werden damit es funktioniert ???

Flo am :

Ja, genau so ist es. Allerdings sollte das kein großes Problem sein. Erstellt man seine App mit dem SDK 4, wird die Grundfunktionalität (Fast App Switching) rudimentär automatisch implementiert. Das geht auch ganz schnell mit bereits fertigen Apps.

Daniel jacob am :

Sehe ich das dann richtig das aufgrund des Artikels davon ausgegangen wird, dass die 2 apps (dieses Spiel und das zum Tisch reservieren) welche auf der Präsentation verwendet wurden schon von Haus aus auf dem os 4.0 sind ? Wäre sehr ungewöhnlich oder ?

Flo am :

Apple hat auch in der Vergangenheit schon des Öfteren vor solchen Präsentationen ausgewählte Entwickler gebeten, ihre Apps für die Präsentation entsprechend anzupassen, damit man was zu zeigen hat. Im AppStore landen diese Apps dann aber auch erst im Sommer, da sich Apps, die mit dem iPhone SDK 4 erstellt wurden noch nicht bei Apple eingereicht werden können.

Tabasco Bob am :

Hoffentlich updaten alle entwickler dann auch schön artig die apps..:) sonst ist die ganze Story nur was halbes..hab keine Lust mehr zu warten will die bude hier endlich aufräumen die ordnerlösung ist auch extrem nützlich...

Daniel jacob am :

Ah, ich verstehe. Vielen dank für die Antwort.

Justus12 am :

Hi, Flo hab ne Frage zu dem kommenden iPhone(HD). Habe dass hier gelesen, hälts du dass für warscheinlich?
Du hast ja auch schon von einem 64 gb flash Speicher gesprochen.
http://www.mactechnews.de/journals/journal.html?id=228

Vielen Dank im Vorraus,
Justus

Flo am :

Um die Frage mit einem Wort zu beantworten: Nein. Einige Dinge sind offensichtlich, wie z.B. auch eine Verdoppelung der Speicherkapazität. Aber das neue Gerät wird meiner Meinung nach erst im Juli kommen und auf keinen Fall im Mai. Zudem sind verschiedene Infos in dem Artikel einfach falsch. Die Macworld wird z.B. von Apple überhaupt nicht mehr genutzt, um neue Produkte anzukündigen oder bestehende aus dem Programm zu nehmen.

Private Proxies am :

I am really impressed with your writing skills as well as with the layout on your blog. Is this a paid theme or did you modify it yourself? Either way keep up the nice quality writing, it’s rare to see a nice blog like this one today..

Tabasco Bob am :

Wie ist es eigentlich mit apps die wirklich aktiv bleiben sollen im hintegrund und nicht pausiert
( Skype,Msn) wird das möglich sein ??

Flo am :

Es gibt speziell für verschiedene Dienste (z.B. VoIP, Navigation, aber NICHT für Instant Messenger) Schnittstellen in iPhone OS 4, die dafür sorgen, dass die wichtigen Funktionen auch im Hintergrund funktionieren. Also bei Skype z.B. ist man auch erreichbar, wenn die App im Hintergrund ist. Sie wird dann auch das Wesentliche reduziert und wird erst wieder komplett aktiv, wenn sie in den Vordergrund tritt.

Tabasco Bob am :

Schade gerade bei den Messengern hätte ich multitask benutzt...:)
thx

phpman am :

Das geht doch bereits jetzt über Push-Notifications und mit Multitasking kannst dann bei einer Notification ohne Probleme in den Messenger wechseln.

Tabasco Bob am :

Ach was..? Ok dann werde ich mir das mal angucken..!!

Chris am :

Ich freue mich schon auf die neuen Möglichkeiten mit dem OS 4!

1WIN am :

https://t.me/s/Webs_1WIN

Kommentar schreiben

Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Formular-Optionen