Comment puis-je empêcher les applications et les services de s'exécuter?

65

Lorsque mon téléphone démarre, plusieurs applications / services s'exécutent en arrière-plan, ce que je préférerais ne pas. Et lorsque j'appuie sur le bouton Accueil lorsque j'utilise une application, celle-ci passe en arrière-plan sans quitter. Comment puis-je arrêter l'exécution de ces applications?

Matthew Read
la source
Ceci est un wiki de communauté; tout le monde se sent libre d'ajouter et de corriger des informations dans la réponse. :)
Matthew lu
Méta-discussion liée
Débit du

Réponses:

65

Tout d'abord

Vous avez peut-être des idées fausses sur le fonctionnement d'Android et sur ce qui se passe réellement lorsqu'un service est en cours d'exécution ou qu'une application est en arrière-plan. Voir aussi: Dois-je vraiment installer un gestionnaire de tâches?

La plupart des applications (par exemple, celles que vous lancez manuellement) voient leur activité actuelle mise en arrière-plan lorsque vous passez à une autre application ou à l'écran d'accueil. Les activités consomment un peu de mémoire, de sorte que vous puissiez revenir à l'application et reprendre vos activités là où vous les avez laissées. Les activités ne sont généralement pas en mesure d'exécuter des calculs en arrière-plan. Par conséquent, aucun processeur ni aucune batterie ne sont utilisés pour ces activités. Si la vie de la batterie ou les performances du processeur vous préoccupent, vous n'avez pas à vous soucier de ces applications! Vous n'avez pas besoin de vous soucier de la mémoire non plus; Android va automatiquement tuer l'application et libérer de la mémoire si le système est faible.

Si l'application en arrière-plan exécute un service, l'histoire peut être différente. Des services bien conçus passent la majeure partie de leur temps à dormir, à se réveiller pour un contrôle occasionnel (nouvelles notifications sur les réseaux sociaux, par exemple). Toutefois, des services mal conçus risquent de s'exécuter plus souvent ou d'effectuer des opérations de synchronisation non souhaitées, affectant la durée de vie de la batterie et l'utilisation des données. Si vous avez un service indésirable, vous pouvez essayer l'une des solutions ci-dessous.

Solutions

Si vous êtes sûr de vouloir que cette application s'arrête à tout prix, vous pouvez essayer ces méthodes.

Désinstaller

Lorsqu'une application fait quelque chose que vous n'aimez pas, qu'elle soit exécutée en arrière-plan au démarrage ou autre chose, votre première option consiste à la désinstaller. Problème résolu! Vous pouvez supprimer des applications système si vous avez une racine, le plus facilement avec Titanium Backup , mais veillez à ne supprimer que les logiciels de support et non les applications système critiques.

Cependant, si vous voulez pouvoir utiliser cette application, alors ce n'est pas une option: continuez à lire.

Ping le développeur

Certains des plus grands démons fournis avec Android sont des services qui s'exécutent en arrière-plan sans raison ou lorsqu'un simple contrôle d'intervalle avec AlarmManager d'Android serait suffisant. Nous devons tous les tuer avec le feu, et non en les ignorant. Tout ce qui n’implique pas de solution du développeur n’est qu’un hack qui entraînera d’autres effets secondaires négatifs. Si vous contactez le développeur avec votre problème, ils peuvent réparer l'application et vous pouvez continuer à l'utiliser normalement. C'est une victoire pour toutes les personnes impliquées.

Tuer manuellement les applications

Tout d'abord, notez que de nombreuses applications se ferment complètement si vous les retirez au lieu d'utiliser le bouton Accueil.

Si vous utilisez Ice Cream Sandwich ou Jelly Bean, vous pouvez accéder à Paramètres, cliquer sur Applications et arrêter manuellement l'application en passant en revue les applications en cours d'exécution. Vous pouvez également appuyer sur le bouton Applications récentes et les faire glisser de l'écran pour les fermer. Dans les anciennes versions d'Android, le gestionnaire de tâches intégré peut être ajouté par le fabricant pour accomplir la même chose. Vous pouvez également télécharger une application du gestionnaire de tâches à cette fin. Pour les services, regardez Settings -> Applications -> Services.

AVERTISSEMENT: N'utilisez pas de tueurs automatiques de tâches! Les tueurs de tâches automatiques fonctionnent en arrière-plan (exactement ce que vous ne voulez pas) et tuent les applications à chaque démarrage. La plupart du temps, cela ne fait qu'aggraver la situation, car les applications consomment souvent plus de ressources à leur démarrage que si elles étaient inactives. Les services qui s'exécutent automatiquement et sont redémarrés par le système seront tués à répétition, gaspillant votre batterie. De même, les applications qui reçoivent des événements système appelés Intents (tels que des modifications de la couverture réseau et de la connectivité) seront supprimées à chaque démarrage pour recevoir un événement. Ça ne peut donner rien de bon.

Une exception possible est les tâches automatiques qui ne s'exécutent que lorsque vous, l'utilisateur, effectuez une action spécifique. Essentiellement, ils facilitent simplement la gestion manuelle des tâches. Une application comme Tasker ou Llama peut être utilisée pour mettre fin aux activités lorsque vous changez d'applications, par exemple, en veillant à ce qu'elles ne restent pas en arrière-plan. Instructions pour Lama:

Créer un nouveau Event. Ajoutez la condition appelée Active Appet choisissez le statut App stopped or in background. Choisissez l'application sur laquelle vous souhaitez vous concentrer. Ensuite, ajoutez un Action. Sélectionnez Kill Application (root privileges), puis sélectionnez à nouveau votre application.

Maintenant, chaque fois que vous quittez l'application, Lama le tuera.

Modification des démarrages automatiques et des intentions

Comme indiqué ci-dessus, certaines applications peuvent démarrer lorsqu'elles reçoivent des intentions (événements système). En utilisant une application comme Autorisations refusées, vous pouvez modifier les autorisations pouvant être demandées par les applications, ce qui limite les événements qu’elles peuvent recevoir. Ou vous pouvez utiliser une application comme Autostarts (application payante) pour modifier spécifiquement les intentions qui seront envoyées à quelles applications. Pour les deux solutions, vous aurez besoin d'un accès root.

Autres options:

(Le code source d’Autostarts est également disponible ici: https://github.com/miracle2k/android-autostarts )

AVERTISSEMENT: les applications peuvent cesser de fonctionner ou empêcher les fonctionnalités souhaitées . Procédez avec prudence, en particulier avec les applications système critiques.

Applications de congélation

Vous pouvez utiliser une application telle que Titanium Backup ou App Quarantine pour figer les applications afin qu'elles ne puissent pas s'exécuter du tout. Si vous voulez les utiliser, vous devez d'abord les dégeler.

AVERTISSEMENT: Ne pas faire cela avec des applications critiques du système! Votre appareil peut ne pas démarrer.

Mettre les applications en veille prolongée

Greenify (nécessite les privilèges Android 4.0+ et ROOT) utilise une approche différente appelée "Hibernation", par rapport à la "Freezing" traditionnelle.

Vous pouvez hiberner en toute sécurité une application non-système que vous ne voulez pas exécuter furtivement (via des services persistants, des récepteurs de diffusion, des alarmes, etc.), ce qui équivaut en réalité à "geler" tout en conservant toutes ses entrées (icône du lanceur, cible de partage). , etc.) et pleinement fonctionnel lorsque vous l’exécutez de manière explicite, sans avoir à le dégeler d’abord.

AVERTISSEMENT: Ne pas hibernatize applications réveil, des applications de messagerie instantanée et d' autres applications dont les fonctionnalités de base repose sur le mécanisme de fond (minuterie, événements système, « push », etc.) au travail.

Le résultat final

Android est conçu pour prendre en charge la gestion des applications pour vous. Dans tous les cas sauf les plus extrêmes, vous ne devriez pas avoir à vous en préoccuper. En cas de problème, nous vous conseillons d’opter pour la solution la plus simple: la désinstallation. Toutes les autres solutions sont des hacks autour de ce que Android est conçu pour faire. Peut-être qu'un jour Android aura un support officiel pour la gestion des services mais, jusque-là, soyez prudent.

Matthew Read
la source
+1 Réponse splendide! Mais que veulent dire "les plus grands démons"? Et que signifie "tuer les applications à chaque démarrage"? (Si vous supprimez chaque application à chaque démarrage, j'aurais pensé qu'il serait impossible de lancer et d'utiliser une application du tout.) Ce serait bien si vous pouviez m'envoyer une réponse de commentaire qui clarifie la situation. :)
unforgettableid
@unforgettableid "les plus grands démons" est un jeu sur les "plus grands démons" et les "démons" (services). "Kill apps" ne signifie pas "tuer TOUTES les applications".
Matthieu Lu
2
"Les activités ne sont généralement pas capables d'exécuter des calculs en arrière-plan. Par conséquent, aucun processeur ni aucune batterie ne sont utilisés pour elles." - Ce n'est tout simplement pas vrai. Rien n'empêche une activité de démarrer des threads et de les laisser fonctionner lorsqu'elle quitte le premier plan. Peut-être avez-vous voulu dire " Activités bien organisées , habituellement ...". Bon, d'accord, mais la plupart des gens sont préoccupés par ceux qui ne se comportent pas bien.
Jeffrey Blattman
@JeffreyBlattman Vous avez raison, n'hésitez pas à éditer ceci car c'est une réponse du Wiki de la communauté.
Matthew Lu