1 votes

Comment désactiver le service système "dreams" ?

Certains utilisateurs d'Android se plaignent souvent de l'exécution constante d'un service système et souhaitent donc s'en débarrasser. à tout prix pour éviter de décharger la batterie. Dans mon scénario, il s'agit de DreamManagerService ce qui n'a pas d'importance pour l'instant.

Puisqu'il s'agit d'un service système ( service list | grep -i dream ) je ne le trouve pas dans la liste des processus ( ps -x | grep -i dream ), et il est intéressant de noter qu'elle n'apparaît pas non plus dans le document init.rc ou similaire. Ma question est donc plutôt la suivante : Comment arrêter un service système ? (en particulier sur Android)

EDIT : La version d'Android est 5.0.2 pour la question actuelle. Il a été rapporté par d'autres utilisateurs que dans Android 6 apparemment ce service est visible et peut être géré beaucoup mieux.


En guise de brève introduction (bonus FYI), la soi-disant DreamManagerService à savoir DayDreams ou simplement économiseur d'écran, a du sens pour les écrans OLED qui éteignent les pixels noirs, mais certains téléphones LCD IPS autorisent également cette fonctionnalité (de manière déraisonnable).

J'ai évidemment déjà vérifié que la configuration est correcte ( désactiver l'économiseur d'écran ), mais le service est toujours en cours d'exécution et empêche en quelque sorte l'unité centrale de dormir, ce qui consomme la batterie. Ce fait peut être diagnostiqué en utilisant Wakelock Detector ou une application similaire.

0voto

JCM Points 190

Pour tuer tout ce qui tourne sur Android, il suffit d'utiliser le gestionnaire d'activités, le gestionnaire de paquets et de traiter avec l'interface de service (voir ici ).

Toutefois, la DreamManagerService sur mon Lolipop est très délicat et il se plaindra qu'il ne fonctionne pas du tout (même si c'est le cas). Donc ce que j'ai fait c'est :

  1. Activer l'économiseur d'écran simple Clock et le configurer pour qu'il n'exécute que lorsqu'il est ancré. Cela permet de s'assurer qu'il fonctionne correctement.
  2. Exécuter avec Racine le script KillDreams.sh, qui tue tout ce qui est pertinent. En prime, je le lance automatiquement après chaque redémarrage en utilisant Apps2SD .

    sleep 5
    echo Normal procedure for am...
    am stopservice dreams
    sleep 1
    echo Force procedure for am...
    am force-stop android.service.dreams
    am force-stop android.service.dreams.IDreamManager
    sleep 1
    echo Stop service...
    stop dreams
    echo Finished...

Et voilà ! Ça a marché ! Actuellement, ma batterie dure presque deux fois plus longtemps que lorsqu'il fonctionne en arrière-plan.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X