Este tutorial le muestra cómo congelar los procesos en segundo plano de cualquier aplicación en Android 7.0 y 7.1 Nougat sin root mediante el uso de un comando ADB oculto.
Android siempre ha sido considerada la plataforma móvil más "potente" en comparación con iOS debido a la libertad que tienen sus aplicaciones de terceros. Esto permite que se produzca una gran automatización simplemente porque las aplicaciones de Android pueden realizar más tareas mientras se ejecutan en segundo plano. Sin embargo, esto tiene una desventaja, ya que abre la puerta a un posible mayor consumo de batería gracias a los procesos en segundo plano que se ejecutan en el dispositivo.
Una cosa es saber que estás cargando tu teléfono con aplicaciones que se ejecutan en segundo plano y que estás dispuesto a sacrificar parte de la duración de tu batería por los beneficios que aportan. Es una historia diferente si simplemente estás descargando aplicaciones tradicionales que no están optimizadas y que realizan tareas en segundo plano cuando no las quieres o ni siquiera las necesitas. Google ha estado trabajando para solucionar este problema poniendo cada vez más restricciones sobre lo que las aplicaciones pueden hacer en en segundo plano, y el lanzamiento de Android O trae la mayor cantidad de restricciones de proceso/receptor en segundo plano por lejos.
Sin embargo, la gran mayoría de los usuarios no verán Android O en sus dispositivos hasta dentro de muchos meses (si es que lo hacen). Pero si estás corriendo Android 7.0 o Android 7.1, hay un truco simple que puedes hacer manualmente evitar que una aplicación se ejecute en segundo plano - y eso no requiere root o una aplicación de terceros. Esto es más poderoso que lo que ofrecen Greenify o aplicaciones como Brevent, ya que sin acceso de root esas aplicaciones están bastante limitadas en lo que pueden hacer. Pero con este truco ahora puedes bloquear aplicaciones como Facebook o Hangouts nunca se ejecuten en segundo plano: ¡sólo funcionarán cuando se estén utilizando activamente!
Tutorial sobre cómo restringir procesos en segundo plano
Requisitos:
- Dispositivo Android Nougat (7.0 o 7.1)
- Instale los controladores USB para su dispositivo OEM en particular (Google proporciona una lista de algunos controladores USB universales aquí).
- Descargar el binario ADB para su sistema operativo particular (ventanas, Mac, linux). Estos enlaces siempre apuntarán a la última versión del binario.
- Extraiga el contenido del archivo ZIP en una carpeta de fácil acceso en su PC.
- Vaya a la aplicación Configuración en su teléfono y toque la opción Acerca del teléfono.
- Busque el número de compilación y tóquelo 7 veces para habilitar el modo de desarrollador.
- Regrese al menú principal de Configuración e ingrese a Opciones de desarrollador para que pueda habilitar el Modo de depuración USB.
- Conecte su teléfono a la computadora y cámbielo del modo "solo carga" al modo "transferencia de archivos (MTP)". Esto no es necesario en todos los dispositivos, pero muchos dispositivos lo requieren como medida de seguridad antes de permitir que ADB funcione.
- Regrese a la PC y busque el directorio donde extrajo el binario ADB.
- Inicie un símbolo del sistema o una terminal en su directorio ADB. Para los usuarios de Windows, esto se puede hacer manteniendo presionada la tecla Mayús y haciendo clic derecho y luego seleccionando la opción "abrir símbolo del sistema aquí". (Algunos usuarios de Windows 10 pueden ver el "símbolo del sistema" reemplazado por "PowerShell".)
- Una vez que esté en el entorno del símbolo del sistema o de la terminal, ingrese el siguiente comando:
adb devices
- Esto iniciará el demonio ADB si aún no se ha iniciado, solo espere a que finalice. Si es la primera vez que ejecuta ADB, también verá un mensaje en su teléfono pidiéndole que autorice una conexión con la computadora. Permita el acceso de depuración USB aquí.
- Ahora, si vuelve a ejecutar el comando adb devices desde el paso 10, el símbolo del sistema/terminal imprimirá el número de serie de su dispositivo. Si es así, entonces estás listo para seguir adelante. De lo contrario, es probable que los controladores USB no estén instalados correctamente.
- Luego deberá encontrar el nombre del paquete de la aplicación que desea congelar los procesos en segundo plano. Puedes hacer esto instalando el inspector de aplicaciones aplicación en su teléfono.
- Regrese al símbolo del sistema e ingrese el siguiente comando:
adb shell
- Ahora ejecute el siguiente comando para liberar los procesos en segundo plano de una aplicación:
cmd appops set
RUN_IN_BACKGROUND ignore - Si alguna vez desea revertir el cambio que acaba de realizar y permitir nuevamente los procesos en segundo plano de una aplicación, ingrese este comando:
cmd appops set
RUN_IN_BACKGROUND allow - Sabrá que funciona si lo lleva de regreso a otro indicador de shell de ADB y no le muestra un mensaje de error.
Explicación
El funcionamiento exacto de este comando es que le permite restringir un permiso oculto al que normalmente el usuario no puede acceder en la aplicación Configuración. Este permiso se llama permiso RUN_IN_BACKGROUND y la única forma de modificarlo es usar "cmd appops", que es la interfaz de línea de comandos para "App Ops", el sistema de gestión de permisos de cara al usuario de Google.
Google agregó este comando ADB oculto que le permite restringir cualquier aplicación para que no reciba intenciones de transmisión implícitas (es decir. la aplicación se activa en segundo plano) y también evita que esas aplicaciones programen servicios en segundo plano sin usar JobScheduler (es decir, la aplicación se activa en un momento inoportuno y agota la batería). En realidad, este comando está destinado a ser utilizado únicamente por desarrolladores que buscan simular cómo funcionaría su aplicación en condiciones de poca memoria, pero afortunadamente podemos usarlo para nuestro propio uso.
Al eliminar las dependencias de los servicios en segundo plano de una aplicación y los receptores de transmisión implícitos registrados en el manifiesto, los desarrolladores pueden optimizar su aplicación para que se ejecute mejor en dispositivos con poca memoria. Google dice que las aplicaciones optimizadas para este tipo de dispositivos, o aquellas que tienen poca memoria, pueden mejorar tanto el rendimiento como la experiencia del usuario. En Google I/O este año, la compañía anunció una versión modificada de Android llamada Android Go, que se utilizará para teléfonos inteligentes con muy poca memoria, por lo que suponemos que este comando sería útil para los desarrolladores que apuntan a esa plataforma.
En cualquier caso, este comando puede resultar bastante útil para el usuario medio, pero tenga cuidado con lo que restringe aquí. Las aplicaciones como Hangouts o Facebook dejarán de sincronizarse por completo en segundo plano hasta que las abras, y si esto es lo que buscas, estoy seguro de que no te importa. Pero no se sorprenda si sus correos electrónicos o mensajes se retrasan si ejecuta este comando en una aplicación que depende de receptores en segundo plano.