He descubierto que, en primer lugar, Sistema>Aplicaciones>Ejecución no siempre es útil y, en segundo lugar, si detenemos los servicios, es posible que se inicie de nuevo si la aplicación correspondiente se está ejecutando. La forma correcta de detener la aplicación es forzar la parada . (por eso el ram booster puede no ser suficientemente útil).
He hecho un simple script que obtiene la lista de todas las aplicaciones del usuario y luego fuerza la detención de todas una por una:
pm list packages -3 -f | sed /jackpal.androidterm/d > /sdcard/tbs/app2fs
while read -r line; do APK=$(echo $line | cut -d ':' -f2 | cut -d '=' -f1); PKG=$(echo $line | cut -d '=' -f2); echo "Forcing to Stop: $(aapt d badging $APK | grep "application: label" | cut -d "'" -f2)"; am force-stop $PKG; done < /sdcard/tbs/app2fs
El inconveniente de este comando es que intenta forzar la detención de todas las aplicaciones de terceros (independientemente de que se estén ejecutando o no). Pero quiero hacer am force-stop
sólo para las aplicaciones de usuario en ejecución.
Así que, ¿Cómo puedo obtener la lista de todas las aplicaciones de usuario que se están ejecutando (no los servicios)?
Puede que tengas mejor forma de hacerlo que mi script/comando, por eso ampliamente: ¿Cómo puedo forzar la detención de todas las aplicaciones de usuario que se están ejecutando?
Nota: Recomiendo la solución de línea de comandos. Porque este tipo de aplicación (que puede forzar la detención de todas las aplicaciones de usuario en ejecución) en su mayoría se ejecuta constantemente para el monitoreo que no me gusta. Si usted tiene una sugerencia para una aplicación que puede hacer ese trabajo y también favorable (no debe ejecutar constantemente para el monitoreo), entonces usted puede sugerirlo.