Comment figer les processus d'arrière-plan de n'importe quelle application sans racine sur Android 7.0+

Android a toujours été considéré comme la plate-forme mobile la plus «puissante» par rapport à iOS en raison de la liberté dont disposent ses applications tierces. Cela permet beaucoup d'automatisation simplement parce que les applications Android peuvent effectuer plus de tâches lorsqu'elles s'exécutent en arrière-plan. Cependant, cela présente un inconvénient car il ouvre la porte à une consommation de batterie potentiellement plus importante grâce aux processus en arrière-plan exécutés sur l'appareil.

C'est une chose de savoir que vous chargez votre téléphone avec des applications qui fonctionnent en arrière-plan, car vous êtes prêt à sacrifier une partie de votre vie de la batterie pour les avantages qu'elle apporte. Il en va différemment si vous ne téléchargez que des applications traditionnelles qui ne sont pas optimisées et qui effectuent des tâches en arrière-plan lorsque vous ne le souhaitez pas, voire que vous n'en avez pas besoin. Google a travaillé à résoudre ce problème en imposant de plus en plus de restrictions sur les applications en arrière-plan, et la version d'Android O apporte de loin les restrictions les plus strictes en matière de processus / récepteur.

Cependant, la grande majorité des utilisateurs ne verront pas Android O sur leurs appareils avant plusieurs mois (voire pas du tout). Toutefois, si vous utilisez Android 7.0 ou Android 7.1, il existe une astuce simple pour empêcher manuellement une application de s'exécuter en arrière - plan - et cela ne nécessite pas d'application root ou tierce . C’est plus puissant que ce que Greenify ou des applications telles que Brevent proposent, car sans un accès root, ces applications sont relativement limitées. Mais avec cette astuce, vous pouvez maintenant empêcher des applications telles que Facebook ou Hangouts de fonctionner en arrière-plan: elles ne fonctionneront que si elles sont activement utilisées!


Didacticiel de restriction des processus en arrière-plan

Exigences:

  • Appareil Android Nougat (7.0 ou 7.1)
  1. Installez les pilotes USB de votre équipementier (Google fournit ici une liste de certains pilotes USB universels).
  2. Téléchargez le fichier binaire ADB correspondant à votre système d'exploitation (Windows, Mac, Linux). Ces liens pointeront toujours vers la dernière version du binaire.
  3. Extrayez le contenu du fichier ZIP dans un dossier facilement accessible sur votre PC.
  4. Accédez à l'application Paramètres sur votre téléphone et appuyez sur l'option À propos du téléphone.
  5. Recherchez le numéro de build et appuyez dessus 7 fois pour activer le mode développeur.
  6. Retournez au menu principal Paramètres et entrez Options du développeur pour pouvoir activer le mode de débogage USB.

  7. Branchez votre téléphone sur l'ordinateur et passez du mode «chargement uniquement» au mode «transfert de fichier (MTP)». Cela n'est pas nécessaire sur tous les périphériques, mais de nombreux périphériques l'exigent par mesure de sécurité avant de permettre à ADB de fonctionner.
  8. Retournez au PC et naviguez jusqu'au répertoire où vous avez extrait le binaire ADB.

  9. Lancez une invite de commande ou un terminal dans votre répertoire ADB. Pour les utilisateurs Windows, cela peut être fait en maintenant enfoncée la touche Maj et clic droit, puis en sélectionnant l'option «Ouvrir l'invite de commande ici». (Certains utilisateurs de Windows 10 peuvent voir «invite de commande» remplacée par «PowerShell».)

  10. Une fois dans l'environnement d'invite de commande ou de terminal, entrez la commande suivante: adb devices
  11. Cela lancera le démon ADB s'il n'a pas déjà été lancé, attendez simplement qu'il se termine. Si vous utilisez ADB pour la première fois, vous verrez également une invite sur votre téléphone vous demandant d'autoriser une connexion à l'ordinateur. Autoriser l'accès de débogage USB ici.

  12. Maintenant, si vous relancez la commande adb devices à l’étape 10, l’invite de commande / terminal imprimera le numéro de série de votre périphérique. Si c'est le cas, vous êtes prêt à passer à autre chose. Sinon, les pilotes USB ne sont probablement pas installés correctement.
  13. Vous devrez ensuite trouver le nom du package de l'application pour laquelle vous souhaitez geler les processus en arrière-plan. Vous pouvez le faire en installant l’application App Inspector sur votre téléphone.

    Étape 1: Appuyez sur "Liste des applications"

    Étape 2: Trouvez l'application que vous souhaitez supprimer. (ex. «Compass»)

    Étape 3: Recherchez le nom du package sous le nom de l'application (par exemple, «com.huawei.compass»).

  14. Retournez à l'invite de commande et entrez la commande suivante: adb shell
  15. Exécutez maintenant la commande suivante pour libérer les processus d'arrière-plan d'une application: cmd appops set RUN_IN_BACKGROUND ignore

  16. Si vous souhaitez annuler la modification que vous venez de faire et autoriser à nouveau les processus d'arrière-plan d'une application, entrez la commande suivante: cmd appops set RUN_IN_BACKGROUND allow

  17. Vous saurez que cela fonctionne si cela vous ramène à une autre invite du shell ADB et ne vous donne pas un message d'erreur.

Explication

Le fonctionnement exact de cette commande est qu’elle vous permet de restreindre une autorisation masquée qui n’est normalement pas accessible à l’utilisateur dans l’application Paramètres. Cette autorisation est appelée autorisation RUN_IN_BACKGROUND et la seule façon de la modifier consiste à utiliser «cmd appops», qui est l'interface de ligne de commande de «App Ops», le système de gestion des autorisations de Google destiné aux utilisateurs.

Google a ajouté cette commande ADB masquée qui vous permet d'empêcher toute application de recevoir des intentions de diffusion implicites (c'est-à-dire le réveil de l'application en arrière-plan) et d'empêcher ces applications de planifier des services d'arrière-plan sans utiliser JobScheduler (c'est-à-dire le réveil de l'application moment inopportun, vider votre batterie). Cette commande est réellement destinée à être utilisée uniquement par les développeurs cherchant à simuler les performances de leur application dans des conditions de mémoire insuffisante, mais heureusement, nous sommes en mesure de l'utiliser à notre propre usage.

En supprimant les dépendances sur les services d'arrière-plan d'une application et les récepteurs de diffusion implicites enregistrés dans le manifeste, les développeurs peuvent optimiser leur application afin qu'elle s'exécute mieux sur des périphériques à faible mémoire. Selon Google, les applications optimisées pour ces types d'appareils, ou celles qui utilisent peu de mémoire, peuvent améliorer à la fois les performances et l'expérience utilisateur. Cette année, chez Google I / O, la société a annoncé une version modifiée d'Android appelée Android Go, qui sera utilisée pour les smartphones à très faible mémoire. Nous présumons donc que cette commande serait utile aux développeurs visant cette plate-forme.

Dans tous les cas, cette commande peut être assez utile pour l'utilisateur moyen, mais faites attention à ce que vous limitez ici. Des applications telles que Hangouts ou Facebook arrêteront complètement la synchronisation en arrière-plan jusqu'à ce que vous les ouvriez. Si c'est ce que vous visez, cela ne vous dérange pas. Mais ne soyez pas surpris lorsque vos e-mails ou vos messages sont retardés si vous exécutez cette commande sur une application qui dépend des destinataires en arrière-plan.