2010-06-24 8 views
6

Je ne comprends pas complètement le modèle iOS 4 d'Apple, j'ai passé en revue la documentation pendant des heures, mais j'apprécie toujours de l'aide.Les applications d'arrière-plan * ever * sont-elles désactivées dans iOS 4?

Les applications iPhone à l'arrière-plan ont-elles jamais été fermées? Par exemple, lorsque je ferme une application de suivi de localisation telle que Loopt, elle sera mise en arrière-plan, mais s'abonnera-t-elle au service des emplacements importants du système d'exploitation? Selon Apple (si je comprends bien), même s'il est suspendu ou fermé, il sera informé de mon emplacement actuel. Cela signifie-t-il, en effet, qu'il sera toujours au courant de mon emplacement, tant que c'est sur mon téléphone? Ou jusqu'à ce que je redémarre mon téléphone?

Merci,

  • voler
+0

n'est-ce pas encore NDA? – KevinDTimm

+0

@KevinDTimm - Je ne crois pas, maintenant que iOS 4 est publié. –

Répondre

14

Les candidatures doivent être spécifiquement écrit pour tirer profit des fonctionnalités multitâches. Ils ne l'obtiennent pas gratuitement. Lorsque l'utilisateur "quitte" une application en appuyant sur l'écran d'accueil, s'il est conscient de la commutation rapide, il sera suspendu. Son état est enregistré et il est envoyé à l'arrière-plan, mais il ne fonctionne pas .

Si une application est écrite de façon à tirer parti du traitement en arrière-plan pour l'emplacement, la voix sur IP ou l'audio, seuls certains aspects continueront à s'exécuter dans le backround. Par exemple. Si une application VoIP est suspendue, elle indiquera au système d'exploitation qu'elle souhaite conserver ses sockets réseau en vie et qu'elle sera avertie si un appel entrant arrive sur ces sockets. Lorsque cela se produit, l'application est «réveillée» et reprend le contrôle des sockets du système d'exploitation et reprend la lecture normalement. Dans le cas où un appel est déjà en cours, et l'utilisateur ferme l'application, à nouveau l'application dit à l'OS de garder les sockets en vie et de continuer à traiter l'audio, mais le reste de l'application (l'interface utilisateur, tout autre caractéristiques) sont suspendues et ne fonctionnent pas. Les applications sur iOS4 se fermeront si elles ne sont pas compilées avec le SDK 4.0 (donc ne sont pas multitâche) ou si la clé UIApplicationExitsOnSuspend est spécifiée et définie sur true dans le fichier info.plist de l'application.

Les applications sont supprimées à la demande par le système d'exploitation si le système commence à manquer de ressources. Enfin, un utilisateur peut tuer une application en appuyant deux fois sur le bouton d'accueil, en appuyant et en maintenant l'une des icônes d'applications suspendues, puis en appuyant sur le bouton «fermer» qui apparaît sur leur coin.