¿Cuál es la diferencia entre la actualización de la aplicación en segundo plano en iOS 7 y la multitarea en iOS 6?

10

¿iOS 6 no es compatible con la multitarea y permite que las aplicaciones en segundo plano actualicen su contenido? Entonces, ¿qué hay de nuevo en iOS 7? ¿Solo podemos habilitar / deshabilitar aplicaciones específicas para que no accedan a la red cuando se ejecutan en segundo plano?

También, veo que la aplicación Pandora no está presente en esta lista (Configuración → General → Actualización de la aplicación en segundo plano) y, sin embargo, funciona bien cuando está en segundo plano y recupera datos cuando está en 3G. ¿Cómo funciona esto?

    
pregunta V.A. 20.09.2013 - 20:20

2 respuestas

13

iOS 4 y más multitarea admitida para algunos casos de uso específicos:

  • Un programa que necesita un tiempo limitado para finalizar una tarea (como cargar un archivo) y se puede suspender después de eso. No se despertaría hasta que el usuario volviera a la aplicación.

  • Reproducción de contenido audible para el usuario mientras está en segundo plano, como Pandora.

  • Grabación de audio en segundo plano

  • Manteniendo informado al usuario sobre su ubicación, como una aplicación de navegación

  • Aplicaciones de VoIP como Skype

  • Aplicaciones de Newstand que actualizan el contenido ocasionalmente

  • Comunicación con accesorios enchufados (agregados en iOS 5)

  • Aplicaciones que se comunican con dispositivos Bluetooth (agregadas en iOS 6)

iOS 7 agrega dos casos de uso adicionales para la multitarea.

  • Un programa puede registrar que desea descargar pequeños conjuntos de información regularmente. Por ejemplo, podría descargar actualizaciones de twitter regularmente. Esta nueva API le permite especificar que le gustaría ser despertado para descargar información de vez en cuando. Por ejemplo, un programa podría decir que quiere descargar información después de que haya estado dormido por lo menos quince minutos. El sistema intentará encontrar un momento en el que pueda activar tantas aplicaciones a la vez para hacer su trabajo. Minimizar la cantidad de veces que el dispositivo se activa, le ayudará a ahorrar batería.

  • Un programa puede registrarse para ser activado para descargar contenido si recibe una notificación remota. La idea es que puede descargar el contenido y estar listo para mostrarlo si ingresas a la aplicación.

respondido por el Alan Shutko 20.09.2013 - 20:57
7

En realidad fui a la sesión de la WWDC sobre esto, así que tengo un poco de información sobre el tema. A mi entender, en iOS 7:

  • La aplicación le informa al sistema si desea usar la actualización de la aplicación en segundo plano.
  • Si la aplicación quiere usar la función, el sistema analiza sus patrones de uso para esa aplicación (la abre todas las mañanas alrededor de las 7, una vez por hora, los terceros martes, etc.),
  • Una vez que el sistema cree que tiene su patrón para la aplicación resuelto, le da a la aplicación un tiempo justo antes de que piense que va a abrir la aplicación.

¿Cuándo sería esto útil? Para aplicaciones con contenido dinámico, actualizando. Por ejemplo:

  • Twitter
  • Facebook
  • Una aplicación de intercambio de pila
  • Una aplicación de noticias
  • Un lector de RSS
  • etc.

Básicamente, cualquier aplicación con contenido que se actualice con frecuencia se beneficiaría de esta función.

Como usuario, significa que cuando abre una aplicación después de que el sistema se da cuenta de sus patrones de uso, verá contenido muy reciente, en lugar de contenido que se guardó en la memoria caché desde la última vez que abrió la aplicación.

Además, a los desarrolladores les encanta esta función: en un momento, hubo varios desarrolladores alrededor de Tim Cook que le dieron las gracias por esa característica y trataron de asegurarse de que no desaparecería.

    
respondido por el Undo 20.09.2013 - 21:18

Lea otras preguntas en las etiquetas