Las aplicaciones no funcionan correctamente en segundo plano

1

Tengo un iPhone 5C con iOS 10, y tengo varias aplicaciones que se supone que hacen cosas en segundo plano, específicamente estoy pensando en Google Photos, IFTTT y Android Wear, aunque podría haber más que yo No lo he notado todavía, como FB Messenger, Allo, Duo, Skype, Life360, Hiya, etc ...

Por ejemplo, se supone que Google Photos realiza una copia de seguridad automática de las fotos de mi cámara, se supone que IFTTT realiza acciones en todos los recordatorios y capturas de pantalla creados recientemente, y se supone que Android Wear se conecta a mi reloj LG.

En mi antiguo teléfono con Android, solo hicieron lo suyo sin importar si la aplicación se estaba ejecutando o no. En el iPhone, aparentemente tienes que abrir las aplicaciones y simplemente dejarlas ejecutándose en segundo plano para que se comporten.

Sin embargo, para cada uno de los tres que he enumerado, parece que solo funcionan como se esperaba durante un tiempo limitado (sin idea de cuánto tiempo), antes de que simplemente dejen de trabajar. Por ejemplo, agregaré un recordatorio, tomaré una foto o tomaré una captura de pantalla, y las acciones no sucederán, aunque IFTTT y Google Photos muestren que se están ejecutando si hojeo las aplicaciones abiertas.

Selecciono la aplicación IFTTT o Google Photos al día siguiente de la lista de aplicaciones abiertas, e inmediatamente comienzan las acciones. Lo mismo para mi reloj: funcionará durante aproximadamente medio día, luego, de repente, se niega a conectarse hasta que cambio a la aplicación Android Wear en el teléfono, luego se conecta de inmediato.

La actualización de la aplicación en segundo plano está habilitada en todas estas aplicaciones.

Esta pregunta parece indicar que estas aplicaciones deberían trabajo. Si no fueran aplicaciones populares, yo culparía a las aplicaciones, pero dudo que Google y IFTTT dejen este gran agujero en sus productos.

¿Hay otra configuración que necesito mirar? ¿Es posible que haya algún límite de CPU o memoria que esté bloqueando estas aplicaciones que se resolverán con un teléfono más nuevo y poderoso?

    
pregunta Joe Enos 04.10.2016 - 19:33

1 respuesta

4

Las aplicaciones que se muestran como "abiertas" pero que no son la aplicación en primer plano están en el estado Suspendido (descrito a continuación), con un par de excepciones. Por lo tanto, las aplicaciones que está viendo en el conmutador de aplicaciones generalmente no hacen nada activamente.

En un nivel general, estos son los estados en los que puede estar una aplicación en iOS.

  

No se está ejecutando : la aplicación no se ha iniciado o se estaba ejecutando, pero el sistema la terminó.

     

Inactivo : la aplicación se está ejecutando en primer plano pero actualmente no está recibiendo eventos. (Aunque puede estar ejecutando otro código). Una aplicación generalmente permanece en este estado solo brevemente cuando pasa a un estado diferente.

     

Activo : la aplicación se está ejecutando en primer plano y está recibiendo eventos. Este es el modo normal para aplicaciones de primer plano.

     

Fondo : la aplicación está en segundo plano y ejecutando código. La mayoría de las aplicaciones entran en este estado brevemente en su camino a ser suspendidas. Sin embargo, una aplicación que solicita un tiempo de ejecución adicional puede permanecer en este estado durante un período de tiempo. Además, una aplicación que se inicia directamente en segundo plano ingresa a este estado en lugar del estado inactivo. Para obtener información sobre cómo ejecutar el código en segundo plano, consulte Ejecución en segundo plano.

     

Suspendido : la aplicación está en segundo plano pero no está ejecutando el código. El sistema mueve las aplicaciones a este estado automáticamente y no las notifica antes de hacerlo. Mientras está suspendida, una aplicación permanece en la memoria pero no ejecuta ningún código. Cuando ocurre una condición de poca memoria, el sistema puede purgar las aplicaciones suspendidas sin previo aviso para hacer más espacio para la aplicación en primer plano.

La ejecución en segundo plano es posible, como se indicó anteriormente, pero solo para casos de uso específicos:

  
  • aplicaciones que reproducen contenido audible para el usuario mientras se encuentra en segundo plano, como una aplicación de reproductor de música
  •   
  • aplicaciones que graban el contenido de audio mientras está en segundo plano
  •   
  • aplicaciones que mantienen a los usuarios informados de su ubicación en todo momento, como una aplicación de navegación
  •   
  • Aplicaciones que admiten el protocolo de voz sobre Internet (VoIP)
  •   
  • Aplicaciones que necesitan descargar y procesar contenido nuevo con regularidad
  •   
  • aplicaciones que reciben actualizaciones periódicas de accesorios externos
  •   

Hay otro caso, que se está descargando en segundo plano. Sin embargo, este es un caso especial, ya que la aplicación en sí aún está suspendida y el proceso de descarga se transfiere al sistema, en caso de que el sistema tenga que finalizar la aplicación para reclamar recursos.

Específicamente con Google Photos, la aplicación debería estar en estado Activo, lo que significa que el teléfono está desbloqueado y en primer plano, para encontrar las fotos que se deben cargar. (Una vez que tiene una lista de ellos, puede pasar las cargas reales al sistema para la Ejecución en segundo plano, pero no sé si es así como funciona realmente).

Para IFTTT, es probable que tenga que estar en primer plano para ejecutar recetas que se basan en cosas específicas de iOS (es decir, recordatorios). Puede calificar para la ejecución en segundo plano en "Aplicaciones que mantienen a los usuarios informados de su ubicación en todo momento", pero tal vez no (aunque tenga activadores basados en la ubicación).

La aplicación Android Wear debe calificar bajo "Aplicaciones que reciben actualizaciones regulares" para la ejecución en segundo plano. Ya que está funcionando parte del tiempo, parece estar configurado para hacer eso. En el caso de esa aplicación, supongo que el sistema lo está cancelando para reclamar recursos.

Un dispositivo más nuevo con más recursos definitivamente no perjudicaría la situación (especialmente para Android Wear, apuesto), pero parte de esto se debe simplemente a la forma en que funciona iOS para conservar los recursos del sistema (y, en consecuencia, la vida útil de la batería) .

    
respondido por el tubedogg 04.10.2016 - 20:24

Lea otras preguntas en las etiquetas