Noticia Configurar la suspensión automática de apps y controlar su consumo

cómo activar la suspensión automática de apps


Configurar cómo y cuándo se suspenden las aplicaciones puede marcar la diferencia entre un ordenador o móvil que va fluido todo el día y otro que se queda sin batería o recursos a mitad de jornada. Controlar la suspensión automática de apps es clave tanto si usas Windows, Android o incluso aplicaciones UWP (las apps modernas de la Microsoft Store) que el sistema intenta pausar para ahorrar recursos.

El problema aparece cuando quieres que el equipo se suspenda tras un tiempo sin usarlo, pero hay programas que necesitas que sigan despiertos: reproductores de música, apps de mensajería, clientes de llamadas o herramientas que dependen de la red. Además, en móviles Android entran en juego funciones como Descanso (Doze), App Standby y las optimizaciones de batería del fabricante, que pueden cortar de raíz las notificaciones si no lo gestionas bien. Vamos a ver, paso a paso y en detalle, cómo funciona todo esto y qué puedes hacer en cada caso.

Configurar suspensión automática del PC sin que ciertas apps la bloqueen​


En un ordenador de sobremesa o portátil con Windows, el sistema permite que el equipo entre en suspensión tras un periodo de inactividad que tú mismo defines. Ahora bien, hay aplicaciones que, cuando están activas, pueden impedir que el sistema se duerma (por ejemplo, un reproductor de vídeo a pantalla completa) o, al contrario, ser suspendidas de forma agresiva por Windows aunque tú quieras que sigan funcionando.

En el escenario más habitual, el usuario quiere que el PC se suspenda solo cuando no está haciendo nada, pero le gustaría que algunas apps concretas no bloqueen nunca esa suspensión. De forma nativa, Windows no ofrece una interfaz sencilla tipo lista blanca/lista negra para decir “esta app nunca debe impedir la suspensión del equipo”, así que la configuración se basa en el comportamiento general de energía y en cómo cada programa gestiona su actividad en segundo plano.

Windows aplica diversas optimizaciones a las llamadas aplicaciones UWP (las modernas apps de la Tienda Microsoft). Estas apps se organizan en grupos de procesos y el sistema puede mostrar un icono amarillo de pausa junto a ellas en el Administrador de tareas. Ese icono indica que Windows está suspendiendo procesos de ese grupo UWP con el objetivo de mejorar el rendimiento y reducir el consumo de memoria y CPU cuando la app está minimizada o sin uso activo, y conviene saber cómo liberar RAM sin cerrar apps importantes.

Esta suspensión automática de UWP favorece que el PC ahorre recursos, pero puede ser un problema cuando hablamos de aplicaciones de mensajería o comunicaciones, como WhatsApp Desktop. Si WhatsApp para PC se minimiza y Windows decide suspenderla, las notificaciones dejan de llegar al escritorio mientras el proceso está en pausa. El mensaje que suele aparecer al pasar el ratón sobre el icono es algo del estilo de “Este grupo de procesos de UWP está suspendiendo procesos para mejorar el rendimiento del sistema”.

Por desgracia, desde la configuración estándar del sistema no hay un botón directo tipo “no suspender nunca esta app UWP”. Aunque es posible ajustar la prioridad del proceso (por ejemplo, ponerla por encima de lo normal), esta prioridad afecta a cómo el scheduler asigna CPU cuando el proceso está activo, pero no impide que Windows lo marque como suspendible cuando está minimizado. Es decir, que aunque le subas la prioridad, si la minimizas, vuelve a entrar en modo suspensión automática.

En este tipo de casos, el comportamiento está muy ligado al diseño interno de la propia app UWP y a la política de ahorro de recursos del sistema. La aplicación debería declararse correctamente como un proceso que necesita mantenerse activo para recibir notificaciones en tiempo real. Si no lo hace, Windows la trata como un candidato perfecto para ser “congelado” en segundo plano y así ganar rendimiento global.

Si necesitas de forma crítica que una UWP comme WhatsApp para PC no pierda notificaciones, tienes varias alternativas prácticas aunque no ideales. Una opción es mantener la ventana visible o en primer plano, ya que el sistema es menos agresivo al suspender procesos con actividad directa del usuario. Otra es recurrir a la versión web de WhatsApp en el navegador, que suele gestionarse de forma diferente en cuanto a suspensión, o incluso utilizar la versión clásica no-UWP si está disponible. No hay, a día de hoy, un ajuste estándar en Windows que permita desactivar selectivamente la suspensión interna de un grupo de procesos UWP concreto desde la interfaz de usuario.

Cómo funciona la suspensión y el ahorro de energía en Android​


En Android a partir de la versión 6.0 (nivel de API 23), Google introdujo dos grandes mecanismos pensados para gestionar el consumo de batería de las aplicaciones en segundo plano: el modo Descanso (Doze) y la función App Standby. Ambos sistemas actúan de forma automática y afectan a todas las apps que corren en el dispositivo, independientemente de si se han desarrollado específicamente para esa versión de Android o no.

El objetivo es sencillo: cuando el móvil no se está utilizando o una app no se abre desde hace tiempo, Android reduce drásticamente lo que esas aplicaciones pueden hacer en segundo plano. Esto se traduce en menos acceso a la red, menos trabajo de CPU background y un aplazamiento de tareas, sincronizaciones y alarmas que no son críticas. En el día a día, el usuario ve cómo el móvil aguanta mucho más rato con la misma carga de batería, sobre todo cuando pasa largos períodos sin tocarlo.

Modo Descanso (Doze): qué hace exactamente​


El modo Descanso se activa cuando el dispositivo está desconectado de la corriente, sin moverse y con la pantalla apagada durante un tiempo prolongado. En ese estado de aparente “hibernación ligera”, el sistema entra en Doze para ahorrar batería al máximo.

Mientras el móvil está en Descanso, Android intenta limitar el acceso de las apps a tareas intensivas de red y CPU, y es útil poder detectar apps que consumen datos. No se trata solo de frenar la sincronización de correo o redes sociales, sino de posponer prácticamente cualquier trabajo de fondo que implique gasto energético significativo. Las apps no pueden acceder libremente a la red y muchas de sus tareas programadas, sincronizaciones o alarmas estándar se retrasan hasta que el sistema les da luz verde en momentos muy concretos.

Para evitar que las apps se queden completamente congeladas y pierdas datos importantes, Android abre de vez en cuando unas pequeñas ventanas llamadas períodos de mantenimiento. En esos breves instantes, el sistema “despierta” parcialmente, ejecuta todas las sincronizaciones pendientes, los trabajos atrasados y las alarmas que habían quedado en cola, y permite a las apps utilizar la red. Al terminar ese periodo, el dispositivo vuelve a entrar en Descanso y reanuda las restricciones.

Cuanto más tiempo permanece el dispositivo sin usar y sin cargar, más espaciados se vuelven esos periodos de mantenimiento. Esto significa que, si te dejas el móvil en la mesilla todo el día sin tocarlo ni enchufarlo, Android irá reduciendo la frecuencia con la que permite a las apps conectarse y procesar tareas, maximizando así la autonomía en situaciones de inactividad prolongada.

En el momento en el que el usuario toca el dispositivo (lo mueve, enciende la pantalla o lo conecta a un cargador), el sistema sale del modo Descanso. A partir de ese instante, las aplicaciones recuperan su funcionamiento normal y el comportamiento de red, CPU y alarmas vuelve al régimen habitual, sin las limitaciones extremas de Doze.

Restricciones y adaptación de las apps al modo Descanso​


Durante el modo Descanso, Android impone una serie de restricciones bastante estrictas sobre lo que las apps pueden hacer. Gran parte de estas medidas giran alrededor del acceso a la red, la ejecución de tareas en segundo plano, el uso de CPU y la activación de alarmas. Aunque muchos tipos de aplicaciones no necesitan cambios para funcionar razonablemente bien bajo estas condiciones, otras sí deben adaptarse para no perder funcionalidad clave.

Las apps que trabajan mucho con red en segundo plano, sincronizaciones frecuentes o alarmas de tiempo exacto pueden necesitar una gestión distinta de sus tareas diferidas, y conviene poder detectar apps que consumen batería. Android ofrece mecanismos pensados especificamente para operar correctamente incluso en Descanso. Por ejemplo, en lugar de programar alarmas estándar que el sistema podría retrasar, el desarrollador puede usar los métodos setAndAllowWhileIdle() y setExactAndAllowWhileIdle() de AlarmManager. Estas variantes permiten programar alarmas que se disparan incluso si el dispositivo está en Doze, con la limitación de que no pueden activar más de una alarma cada nueve minutos por aplicación.

En cuanto a la conectividad, el hecho de que Descanso restrinja el acceso a la red afecta con particular fuerza a las apps que dependen de comunicaciones en tiempo real, como mensajes tipo “tickle”, notificaciones push o actualizaciones instantáneas. En lugar de mantener su propia conexión persistente, Google recomienda encarecidamente usar Firebase Cloud Messaging (FCM), que ofrece un canal de comunicación en tiempo real entre el backend y las apps Android optimizado para el ahorro de energía.

Para comprobar que una app se comporta correctamente bajo Descanso, los desarrolladores pueden forzar este modo con comandos adb y observar el resultado. El flujo típico de pruebas consiste en configurar un dispositivo (físico o emulado) con Android 6.0 o superior, instalar la app, dejarla corriendo y ejecutar adb shell dumpsys deviceidle force-idle para simular la entrada en Doze. Después, con otros comandos se puede salir del modo inactivo, resetear el estado de batería y verificar que, al reactivarse el dispositivo, la app retoma sus sincronizaciones, notificaciones y trabajos sin fallos.

configurar suspensión automática de apps


App Standby: cómo decide Android que una app está inactiva​


Además de Descanso, Android introduce el mecanismo de App Standby, orientado a controlar el nivel de actividad de las aplicaciones que el usuario no usa desde hace tiempo. El sistema determina que una app está inactiva cuando el usuario deja de interactuar con ella durante un periodo determinado y no se cumplen ciertas condiciones especiales.

Para que una aplicación no se considere inactiva, debe entrar en alguno de estos supuestos: el usuario la abre explícitamente, la app tiene un proceso en primer plano (ya sea como actividad visible o como servicio en primer plano en uso por otra actividad) o genera una notificación visible para el usuario, ya sea en la pantalla de bloqueo o en la bandeja de notificaciones. De este modo, Android interpreta que la app sigue siendo relevante y no la castiga con las mismas restricciones que a las verdaderamente olvidadas.

Es importante tener en cuenta que los servicios en primer plano están pensados para tareas que el usuario espera que se ejecuten de inmediato y sin interrupciones, como subir una foto, reproducir música o mantener una llamada de voz aunque la app no esté en primer plano. No se deben iniciar servicios en primer plano únicamente para esquivar las optimizaciones de batería y evitar que el sistema marque la app como inactiva.

Cuando el usuario enchufa el dispositivo a una fuente de alimentación, las aplicaciones salen del estado de espera y recuperan acceso completo a la red, pudiendo ejecutar trabajos y sincronizaciones pendientes. Si el dispositivo se mantiene desconectado y en reposo durante largos periodos, Android permite a las apps inactivas acceder a la red más o menos una vez al día, lo justo para actualizar datos esenciales sin disparar el consumo de batería.

Al igual que en el caso de Descanso, los desarrolladores tienen la posibilidad de probar el comportamiento de su app bajo App Standby mediante comandos adb, obligando a que el sistema marque una aplicación como inactiva o la reactive y observando cómo se comporta en cuanto a notificaciones y tareas en segundo plano.

Firebase Cloud Messaging: el aliado para notificaciones y datos en segundo plano​


Firebase Cloud Messaging es un servicio de mensajería en la nube que permite enviar mensajes en tiempo real desde un backend a las apps Android manteniendo una única conexión persistente compartida entre todas las aplicaciones que necesiten comunicaciones push. Esta conexión optimizada evita que cada app monte su propio canal de red siempre activo, lo que reduciría la batería a toda velocidad.

Una de las ventajas de FCM es que está pensado para integrarse con Descanso y App Standby. Cuando se envían mensajes de alta prioridad, el sistema despierta puntualmente a la aplicación, le da acceso temporal a la red y le concede un wakelock parcial para que pueda procesar el mensaje y, normalmente, mostrar una notificación al usuario. Una vez completada la acción, el dispositivo y la app pueden volver al estado inactivo.

Para notificaciones urgentes y visibles, es recomendable usar mensajes de prioridad alta, ya que garantizan la entrega incluso bajo Doze. Para otros usos más discretos, como mantener el contenido sincronizado en segundo plano o lanzar actualizaciones de datos que no requieren alerta inmediata, se aconseja utilizar mensajes de prioridad normal. En este caso, si el dispositivo no está en Descanso, se entregan al momento, y si sí lo está, se aprovechan los periodos de mantenimiento o se envían en cuanto el usuario despierta el dispositivo.

En general, si una app necesita recibir mensajes descendentes, lo más eficiente es recurrir a FCM siempre que sea posible. Además, se recomienda que la aplicación reserve los mensajes de alta prioridad únicamente para notificaciones que realmente van a ser visibles para el usuario, evitando abusar de ellos para no comprometer el ahorro de energía global del sistema.

Aplicaciones exentas de las optimizaciones de batería​


Android contempla que haya ciertos casos de uso en los que Descanso y App Standby no sean suficientes para garantizar la funcionalidad principal de la app. Para ello existe una lista configurable de aplicaciones parcialmente exentas de las optimizaciones de batería. Las apps incluidas en esta lista pueden hacer uso de la red y mantener wakelocks parciales incluso mientras el dispositivo está en Doze o en App Standby.

Eso sí, la exención no es absoluta. Aunque la red y algunos bloqueos de activación están permitidos, otras restricciones siguen vigentes: las tareas y sincronizaciones siguen aplazándose y las alarmas normales de AlarmManager no se disparan como lo harían en condiciones sin optimización. Una app puede comprobar si se encuentra en esa lista mediante la llamada a isIgnoringBatteryOptimizations(), y los usuarios pueden gestionar manualmente esta configuración desde Ajustes > Batería > Optimización de la batería.

Además, el sistema ofrece un mecanismo para que las apps soliciten al usuario ser excluidas, a través de la acción de intent ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS. Sin embargo, las políticas de Google Play son claras: está prohibido pedir esa exención a menos que el núcleo funcional de la app se vea realmente afectado por Descanso o App Standby y no exista una alternativa técnica razonable, como el uso de FCM de alta prioridad.

Entre los casos aceptables para solicitar exención se incluyen las aplicaciones de mensajería instantánea, chat o llamadas que no pueden utilizar FCM por alguna limitación técnica concreta, ciertas apps de VoIP empresariales, herramientas de seguridad y protección familiar, apps de automatización de tareas cuyo propósito principal es programar acciones automáticas, y aplicaciones complementarias que necesitan mantener una conexión continua con un dispositivo periférico para proporcionarle acceso a Internet. Por el contrario, si una app puede resolver sus necesidades apoyándose en FCM o en mecanismos estándar de Android, no está justificado pedir la exclusión de las optimizaciones de batería.

Pruebas y buenas prácticas con Descanso y App Standby​


Para ofrecer una buena experiencia al usuario, los desarrolladores deben probar sus aplicaciones a fondo en los modos Descanso y App Standby. En el caso de Doze, lo habitual es usar un dispositivo con Android 6.0 o superior, instalar la app, dejarla activa y forzar el modo de inactividad mediante el comando adb shell dumpsys deviceidle force-idle. Posteriormente se sale del modo forzado y se restablece el estado de batería para que el dispositivo vuelva al funcionamiento normal, observando cómo se comporta la aplicación tras ese ciclo.

Con App Standby, la dinámica es similar, pero centrada en una app concreta. Una vez instalada y en ejecución, se fuerza la inactividad simulando que el dispositivo está desenchufado (adb shell dumpsys battery unplug) y marcando la app como inactiva con am set-inactive <packageName> true. Más tarde se desmarca con am set-inactive <packageName> false y se comprueba el estado con am get-inactive <packageName>. La clave es verificar que tras “despertar” la app, sus notificaciones, trabajos en segundo plano y sincronizaciones funcionan como se espera.

Suspender manualmente aplicaciones en móviles Samsung Galaxy​


Además de los mecanismos generales de Android, muchos fabricantes añaden sus propias capas de optimización. En el caso de los Samsung Galaxy con One UI, existe una función muy potente pero algo escondida que permite suspender manualmente aplicaciones para que no consuman batería en exceso cuando no las necesitas.

Los móviles modernos ya gestionan bastante bien los recursos y suelen detectar cuando una app consume mucha energía en segundo plano pese a que apenas la utilizas. En esas situaciones, el sistema puede decidir por su cuenta suspenderla, es decir, dejarla parada sin acceso a recursos ni actualizaciones hasta que vuelvas a abrirla. Todo esto ocurre de forma transparente, pero a veces incluso aplicaciones que utilizas a diario pueden resultar demasiado tragonas cuando no las tienes en pantalla.

En los Galaxy tienes la opción de “meter mano” tú mismo y poner ciertas apps en suspensión total o parcial según te interese. Por ejemplo, si tienes aplicaciones de entretenimiento que solo usas por la noche, puedes suspenderlas manualmente durante el día para que no se pasen el rato sincronizando contenido, descargando datos o enviando notificaciones poco relevantes. Lo mismo se aplica a apps que casi nunca usas pero no quieres desinstalar: las dejas en suspensión profunda y te olvidas de su consumo hasta que quieras abrirlas.

Para acceder a estas opciones en un Samsung Galaxy, hay que ir a Ajustes, entrar en Cuidado del dispositivo y luego en el apartado de Batería. Dentro, encontrarás una sección llamada Límites de uso en segundo plano. Ahí se agrupan varias funciones de ahorro, incluida la posibilidad de activar la suspensión automática de apps sin uso y de configurar manualmente qué aplicaciones se suspenden y cómo.

Una de las primeras opciones recomendadas es “Suspender aplicaciones sin uso”, que permite que el móvil detecte y suspenda de forma automática aquellas apps que lleven tiempo sin ser utilizadas. Además, se ofrecen dos niveles de suspensión manual que puedes personalizar: “Aplicaciones suspendidas” y “Aplicaciones en suspensión profunda”.

Al añadir una app a “Aplicaciones suspendidas”, le estás diciendo al sistema que limite su actividad en segundo plano, pero sin cortarla del todo. Estas aplicaciones pueden ejecutarse ocasionalmente en background y recibir notificaciones de vez en cuando, aunque con menor frecuencia y consumo. Es útil para apps que quieres que sigan avisándote, pero no con tanta intensidad como de costumbre.

Si en cambio añades una app a “Aplicaciones en suspensión profunda”, el móvil la deja totalmente dormida: no podrá ejecutarse en segundo plano ni enviar notificaciones hasta que la abras de forma manual. Es la opción ideal para juegos o herramientas que usas muy de tarde en tarde, pero no quieres borrar por si acaso. En cualquiera de los dos apartados, puedes pulsar el icono con forma de cruz en la esquina superior derecha para seleccionar, de una lista de aplicaciones instaladas, cuáles quieres suspender.

Es probable que el propio dispositivo ya haya metido algunas apps en estas listas de suspensión, basándose en tu uso real y en su consumo de recursos. Aun así, merece la pena echarle un vistazo y añadir aquellas que ves que chupan demasiada batería o datos sin darte nada a cambio durante la mayor parte del día.

Al final, entender cómo funciona la suspensión automática de apps en Windows, Android y capas como One UI te permite afinar mucho mejor el comportamiento de tu equipo o móvil. Entre los modos Descanso y App Standby, las optimizaciones de batería, las listas de exención y herramientas como FCM, el sistema tiene un arsenal muy completo para equilibrar autonomía y rendimiento.

Si a eso le sumas funciones específicas del fabricante, como los límites de uso en segundo plano de Samsung o la suspensión interna de procesos UWP en Windows, dispones de muchas palancas para ajustar qué se duerme, cuándo y cómo, evitando perder notificaciones importantes mientras sigues exprimiendo la batería todo lo posible. Comparte la información para que más personas conozcan del tema.

Continúar leyendo...