2010-06-24 4 views
6

Ich verstehe Apples iOS 4-Modell nicht vollständig, ich habe stundenlang durch Dokumentation geforscht, aber ich schätze immer noch Hilfe.Haben Hintergrundanwendungen * Ever * in iOS 4 beendet?

Werden Hintergrund-iPhone-Apps jemals beendet? Wenn ich zum Beispiel eine Location-Tracking-Anwendung wie Loopt schließe, wird sie im Hintergrund angezeigt, aber wird sie den Dienst für wichtige Standorte des Betriebssystems abonnieren? Laut Apple (wenn ich es richtig verstehe), selbst wenn es gesperrt oder geschlossen ist, wird es über meinen aktuellen Standort informiert. Bedeutet das, dass es sich meines Aufenthaltsorts immer bewusst sein wird, solange es auf meinem Handy ist? Oder bis ich mein Telefon neu starte?

Danke,

  • rob
+0

ist das nicht immer noch NDA? – KevinDTimm

+0

@KevinDTimm - Ich glaube nicht, jetzt, da iOS 4 veröffentlicht wird. –

Antwort

14

Anwendungen haben speziell nutzen Sie die Multitasking-Funktionen geschrieben werden. Sie bekommen es nicht nur kostenlos.

Wenn der Benutzer eine App durch Drücken des Startbildschirms "beendet", wird er, wenn er schnell schaltet, ausgesetzt. Es ist Zustand wird gespeichert und es wird in den Hintergrund gesendet, aber es nicht ausführen.

Wenn eine App so geschrieben ist, dass sie die Hintergrundverarbeitung für Standort, VoIP oder Audio nutzt, werden nur bestimmte Aspekte im Hintergrund weiter ausgeführt. Eg. Wenn eine VoIP-App angehalten wird, teilt sie dem Betriebssystem mit, dass es seine Netzwerk-Sockets am Leben erhalten und benachrichtigt werden soll, wenn ein eingehender Anruf an diesen Sockets ankommt. Wenn dies passiert, wird die App "aufgeweckt" und übernimmt die Kontrolle über die Sockets vom Betriebssystem und setzt die Wiedergabe normal fort.

In dem Fall, in dem ein Anruf bereits ausgeführt wird und der Benutzer die App schließt, weist die App das Betriebssystem erneut an, die Sockets am Leben zu halten und weiterhin Audio zu verarbeiten, aber den Rest der App (die UI) Funktionen) sind ausgesetzt und laufen nicht.

Apps auf iOS4 werden beendet, wenn sie nicht mit dem 4.0 SDK kompiliert werden (daher nicht Multitasking-fähig) oder wenn der Schlüssel UIApplicationExitsOnSuspend angegeben und in der Datei info.plist der App auf true gesetzt ist.

Apps werden auf Anforderung vom Betriebssystem beendet, wenn das System zu wenig Ressourcen verbraucht.

Schließlich kann ein Benutzer eine App durch zweimaliges Antippen der Home-Taste beenden, indem er eines der gesperrten App-Symbole drückt und hält und dann auf die Schaltfläche "Schließen" in ihrer Ecke drückt.