¿Cuál es la diferencia entre Background App Refresh en iOS 7 y multitarea en iOS 6?

10

¿IOS 6 no era compatible con la multitarea y permitía que las aplicaciones en segundo plano actualizaran su contenido? Entonces, ¿qué hay de nuevo en iOS 7? ¿Solo que podemos habilitar / deshabilitar el acceso de aplicaciones específicas a la red cuando se ejecuta en segundo plano?

Además, 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 obtiene datos cuando está en 3G. ¿Como funciona esto?

Virginia
fuente

Respuestas:

13

iOS 4 y mayor multitarea compatible para algunos casos de uso específicos:

  • Un programa que necesita una cantidad de tiempo limitada para finalizar una tarea (como cargar un archivo) y puede suspenderse 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.

  • Grabar audio mientras está en segundo plano

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

  • Aplicaciones de VoIP como Skype

  • Aplicaciones de quiosco que actualizan contenido ocasionalmente

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

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

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

  • Un programa puede registrar que desea descargar regularmente pequeños conjuntos de información. 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 haber estado dormida al 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 despertado para descargar contenido si recibe una notificación remota. La idea es que puede descargar el contenido y estar listo para mostrarlo si ingresa a la aplicación.

Alan Shutko
fuente
Wow, y pensé que sabía lo que significaba. Resultó que no tenía idea. Bien escrito.
Melwan
Esto puede merecer su propia pregunta, pero ¿deshabilitar la "actualización de la aplicación en segundo plano" limitaría cualquiera de los casos de uso anteriores a iOS 7? Voy a adivinar que no, ya que no vi Apple Maps entre las opciones para habilitar / deshabilitar.
Chance
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 dice al sistema si quiere 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.),
  • Después de que el sistema cree que tiene su patrón para la aplicación resuelto, le da a la aplicación una cantidad de 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 y actualizado. Por ejemplo:

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

Bassically, cualquier aplicación con contenido que se actualice a menudo se beneficiaría de esta función.

Como usuario, significa que cuando abra una aplicación después de que el sistema descubra sus patrones de uso, verá contenido muy reciente, en lugar de contenido que todavía está en caché desde la última vez que abrió la aplicación.

Además, a los desarrolladores les encanta esta característica: en un momento, hubo varios desarrolladores alrededor de Tim Cook que le agradecieron por tal característica y trataron de asegurarse de que no desapareciera.

Deshacer
fuente