2010-06-24 15 views
6

No entiendo completamente el modelo de iOS 4 de Apple, he estado estudiando detenidamente la documentación durante horas, pero todavía aprecio algo de ayuda.¿Las aplicaciones en segundo plano * alguna vez * se han cerrado en iOS 4?

¿Se acaban las aplicaciones de iPhone de fondo? Por ejemplo, cuando cierro una aplicación de seguimiento de ubicación, como Loopt, quedará atrasada pero ¿se suscribirá al servicio de ubicaciones importantes del sistema operativo? De acuerdo con apple (si lo entiendo correctamente), incluso si está suspendido o cerrado, se notificará mi ubicación actual. ¿Eso significa, en efecto, que siempre estará al tanto de mi ubicación, siempre que esté en mi teléfono? O hasta que reinicie mi teléfono?

Gracias,

  • robar
+0

¿No es esto todavía NDA? – KevinDTimm

+0

@KevinDTimm - No lo creo, ahora que iOS 4 se lanzó. –

Respuesta

14

Las solicitudes tienen que ser escritos específicamente para aprovechar las características multitarea. No solo lo obtienen de forma gratuita.

Cuando el usuario "cierra" una aplicación presionando la pantalla de inicio, si se activa el cambio rápido, se suspenderá. Su estado se guarda y se envía al fondo pero no ejecuta.

Si se escribe una aplicación para que aproveche el procesamiento en segundo plano de la ubicación, la VoIP o el audio, solo se seguirán ejecutando ciertos aspectos en el entorno. Eg. si se suspende una aplicación de VoIP, le indicará al sistema operativo que desea mantener sus conectores de red con vida y que se le notifique si llega una llamada entrante en esos sockets. Cuando esto sucede, la aplicación se "despierta" y recupera el control de los sockets del sistema operativo y reanuda la reproducción normalmente.

En el caso de que una llamada ya esté en curso, y el usuario cierra la aplicación, la aplicación le dice al SO que mantenga los enchufes activos y que continúe procesando audio pero el resto de la aplicación (la IU, cualquier otra características) se suspenden y no se ejecutan.

Las aplicaciones en iOS4 se cerrarán si no están compiladas en el SDK 4.0 (por lo tanto, no son multitareas) o si la clave UIApplicationExitsOnSuspend está especificada y establecida en verdadero en el archivo info.plist de la aplicación.

El sistema operativo mata a petición las aplicaciones si el sistema comienza a quedarse sin recursos.

Finalmente, un usuario puede matar una aplicación tocando dos veces el botón de inicio, presionando y sosteniendo uno de los íconos de la aplicación suspendida y luego presionando el botón "cerrar" que aparece en su esquina.

Cuestiones relacionadas