Was sind die Hauptunterschiede zwischen Android- und iPhone-Implementierungen von Multitasking auf Anwendungsebene?
(Lassen Sie uns dies bitte nicht in ein subjektives Fanboy-Argument verwandeln.)
Was sind die Hauptunterschiede zwischen Android- und iPhone-Implementierungen von Multitasking auf Anwendungsebene?
(Lassen Sie uns dies bitte nicht in ein subjektives Fanboy-Argument verwandeln.)
Dies ist keine Antwort auf Ihre Frage, aber es sollte klargestellt werden, dass beide Betriebssysteme vollständig Multitasking [1] unter der Haube ausführen (sofern sie mehrere Prozesse ausführen können).
Ihre Frage bezieht sich eindeutig auf Multitasking auf Anwendungsebene ("Kann ich eine Anwendung laufen lassen, während ich eine andere verwende?"), Was eine relativ neue Verwendung des Begriffs ist und nicht immer genau definiert ist, selbst wenn es offensichtlich ist Beispiele (wie das Hören von Pandora beim Lesen von E-Mails). Insbesondere müssen viele Anwendungen nicht im Hintergrund ausgeführt werden, um sich dem Benutzer so zu präsentieren, als hätten sie nie aufgehört zu laufen, solange sie ihren Status speichern / wiederherstellen. Anwendungen, die regelmäßige Vorgänge ausführen müssen (z. B. das Überprüfen von E-Mails oder das Aufrufen von Alarmen), müssen auch nicht kontinuierlich im Hintergrund ausgeführt werden. Sie können gelegentlich vom Betriebssystem aufgerufen werden. Das große Problem sind normalerweise Anwendungen wie Pandora, die im Hintergrund eine konstante CPU benötigen.
Im Allgemeinen hat Apple viel härter daran gearbeitet, kontinuierlich laufende Hintergrundanwendungen zu unterbinden oder zu verhindern, während Android dafür offener zu sein scheint. Sie konvergieren jedoch, da Apple Apps wie Pandora im Hintergrund ausführen lässt und Android umfangreichere Tools bereitstellt, um unnötige Hintergrundaufgaben zu vermeiden, wenn Abfragen oder gespeicherter Status ausreichen würden.
Soweit ich sagen kann.
Das iPhone Multitasking ist viel eingeschränkter. Die Multitasking-Aktivität muss eine der folgenden sein:
[Danke Gizmodo !]
Android hingegen ermöglicht echtes Multitasking auf ähnliche Weise wie ein PC.
Bevor ich beschuldigt werde, ein Android-Fanboi zu sein, möchte ich etwas erklären. Das iPhone-Multitasking-Modell ist für die meisten Situationen mehr als ausreichend und vermeidet viele Probleme (z. B. Speichermangel), die mit dem Android-System einhergehen.
quelle
Android hat ein anderes Konzept für Multitasking auf Anwendungsebene als ein PC. Es gibt eher eine Trennung zwischen Daten, dem Anzeigen der Daten und dem Bearbeiten der Daten.
Es kann immer nur eine App-Ansicht geöffnet sein, aber der Vorgang für die Daten kann im Hintergrund ausgeführt werden. Dies macht es für Anwendungsentwickler schwierig, sich beim Wechseln zwischen Apps, Beenden von Apps und Starten neuer Apps wie ein Desktop zu fühlen. Es fühlt sich manchmal unmöglich an, eine App zu beenden, aber manchmal fühlt es sich auch unmöglich an, zu einer Aufgabe und wieder zurück zu wechseln. Es hängt davon ab, wie der App-Entwickler es gemacht hat.
Sie können so viele Hintergrundprozesse gleichzeitig ausführen, und sie sind wie Desktop-Apps geplant. Der Linux-Kernel entscheidet, wie priorisiert werden soll, welche Speicher- und CPU-Ressourcen erhalten. Wenn das Telefon feststellt, dass nicht genügend Speicher vorhanden ist, werden Dinge getötet, um mehr Speicher zu schaffen. Dies geschieht anders als Linux oder die meisten anderen Betriebssysteme normalerweise.
Die Daten eines Programms sind immer verfügbar. Solange die App über Berechtigungen zum Zugriff auf die Daten verfügt, ist sie verfügbar. Sie benötigen keinen Dienst, der im Hintergrund ausgeführt wird, damit er verfügbar ist.
Apple hat sehr spezielle Möglichkeiten, wie Sie Multitasking durchführen können. Sie sind eine Teilmenge der Möglichkeiten, die Android zulässt. Im Hintergrund können nur bestimmte Arten von Apps ausgeführt werden, und sie müssen speziell dafür programmiert werden.
Ein Desktop unterscheidet sich stark von diesen beiden Dingen. Die Ansicht, Daten und Datenverarbeitungslogik jeder Anwendung sind häufig miteinander verbunden. Ich würde sagen, dass WebOS, Symbian und Maemo / Meego Beispiele dafür auf Mobilgeräten sind. Wenn eine Anwendung ihre Daten- und Hintergrundverarbeitung anderen "Ansichten" aussetzt, handelt es sich in der Regel um eine ganz besondere Anwendung.
quelle