Jump to content

Comment arrêter automatiquent des applications ?


Recommended Posts

Bonjour

 

J'ai un smartphone sous Android 5.1 depuis peu. Je découvre Android et suis TRES surpris...

La batterie dure un déjeuner de soleil... Je vois que de nombreuses applications tournent sans que je les ai lancées. D'autre part, contrairement à d'autres OS (professionnels et particuliers) que j'ai utilisés, il ne semble pas possible d'arrêter, de "fermer" une application qu'on n'utilise pas. Il n'y a pas de bouton de fermeture dans aucune application.

J'ai installé l'application "Battery Doctor" dont internet dit beaucoup de bien, dans le but d'économiser la batterie. Après 96 heures d'usage, je n'ai pas vu de progrès sur la durée de la charge de la batterie.

 

D'où mes questions:

1. est-il possible d'améliorer l'autonomie de la batterie par un moyen quelconque ?

2. comment arrêter une application dont je n'ai pas besoin ?

3. comment interdire au système de lancer des applications ?

 

Toute suggestion sera la bienvenue.

Link to comment
Share on other sites

Ce n'est pas parce qu'une application reste en mémoire qu'elle "tourne".
En fait c'est le fonctionnement natif de la plupart des OS mobiles: le code et les données reste en mémoire vive tant que possible, on économise de rejouer a chaque fois la séquence d'initialisation qui est consommatrice de ressources.
Il y a d'ailleurs un très long et ancien fil dans cette même section du forum:
https://forum.frandroid.com/topic/18090-les-tueurs-de-tâches-arrêtez-de-tuer-comme-des-sauvages/
Je te conseille de la parcourir si ce n'est deja fait.


3. comment interdire au système de lancer des applications ?

Sur ce point précis il suffit bien entendu de, soit les desinstaller, soit, dans le cas d'application intégrées dans la ROM, de les désactiver.  

Link to comment
Share on other sites

Je suis bien sûr conscient qu'un des consommateurs de la batterie c'est Android lui-même via tous les services qu'il active (qu'ils soient utiles ou non).

Et parfois une application non utilisée mais présente en mémoire (car elle a été déjà utilisée) continue de consommer de l'énergie via un ou plusieurs processus.

J'avais déjà parcouru cet ancien topic cité ainsi que d'autres sur le Net. Il m'a laissé sur ma faim (en plus, il est quasi inutilisable car les liens sont cassés), d'où mes interrogations.

Donc tu confirmes qu'on ne peut arrêter (sortir de la RAM) aucune application sous Android (point 2).

Quant à savoir comment interdire au système de lancer des applications (point 3), il est évidemment hors de question de désinstaller ces applications : je veux simplement être le seul à décider de les lancer et pas que le système le fasse à ma place! Quant à la désactivation, je n'ai pas trouvé comment faire: rien dans mon smartphone ne permet de désactiver quoi que ce soit au démarrage. Dois-je installer un logiciel pour cela ?

Je n'utilise bien sûr aucun widget car je lance une application quand j'en ai besoin: aucun intérêt pour moi qu'elle reste active continuellement. Un smartphone n'est pas un PC, c'est un usage totalement différent!

Quant au point 1 (comment améliorer l'autonomie de la batterie) ça semble quasiment impossible si one ne peut arrêter aucune application automatiquement; il est hors de question de forcer l'arrêt de chaque application après usage!

Peut-être qu'Android n'est pas le meilleur choix sur un smartphone et que Windows Phone conviendrait mieux ?

Link to comment
Share on other sites

Et parfois une application non utilisée mais présente en mémoire (car elle a été déjà utilisée) continue de consommer de l'énergie via un ou plusieurs processus.

Mais dans ce cas c'est du au fait que l'appli effectue des actions qu'elle considère a priori utiles en tache de fond (comme de la synchronisation par exemple).

Si on la retire de façon forcée de ma mémoire, elle se relancera spontanément si elle est codée ainsi

(Faut pas croire que les devs programment des boucles vides dans leur code juste pour pourrir la vie des utilisateurs)

 

J'avais déjà parcouru cet ancien topic cité ainsi que d'autres sur le Net. Il m'a laissé sur ma faim (en plus, il est quasi inutilisable car les liens sont cassés), d'où mes interrogations.

C'est un vieux fil, et il est en effet probable que le liens du début du fil soient cassés. Faut lire les post plus près de la fin, mais le contenu reste pertinent sinon.

 

Donc tu confirmes qu'on ne peut arrêter (sortir de la RAM) aucune application sous Android (point 2).

Je n'ai pas dit ça: ca peut toujours se faire, manuellement par le menu multitâche, ou, dans le cas d'appareils rootés, automatiquement avec des applis dédiées. J'ai simplement dis que c'était inutile et par suite je le déconseille: dans la plupart des cas le remède s’avérera plus que nocif le mal.

 

Quant à savoir comment interdire au système de lancer des applications (point 3), il est évidemment hors de question de désinstaller ces applications : je veux simplement être le seul à décider de les lancer et pas que le système le fasse à ma place! Quant à la désactivation, je n'ai pas trouvé comment faire: rien dans mon smartphone ne permet de désactiver quoi que ce soit au démarrage. Dois-je installer un logiciel pour cela ?

Je parlais de la désactivation *complète* (ne concerne que les applis systèmes ou installée dans la ROM), pas de celle du démarrage automatique. Pour ca faut également un appareil rooté.

Mais la aussi ca ne sert pas à grand chose: le code que l'appli doit dérouler pour son initialisation sera effectué lors de son lancement manuel au lieu que ce soit fait lors de son lancement automatique, mais sera exécuté de toutes les manières.

 

Je n'utilise bien sûr aucun widget car je lance une application quand j'en ai besoin: aucun intérêt pour moi qu'elle reste active continuellement. Un smartphone n'est pas un PC, c'est un usage totalement différent!

Pas certain de comprendre l'exemple du PC: c'est précisément le fait du fonctionnement différent des OS PC et smartphone qui fait que les applis restent en mémoire dans le second cas. Une application de messagerie par exemple y reste pour pouvoir notifier des nouveaux messages. Et je le répète une fois de plus, ce n'est pas parce qu'une appli est en mémoire qu'elle va forcément consommer de la batterie. Faut plutôt jeter un oeil au statistiques de conso batterie du téléphone pour voir ce qui consomme réellement.

Se battre pour retirer de la mémoire une appli responsable de 1% de la consommation totale pourra pas faire gagner, cala va de soi, plus que 1% d'autonomie (et en général bien moins). Est-ce que cela en vaut la peine?

La façon la plus radicale d'économiser la batterie est de désactiver la synchro automatique, à voir si les inconvénients (plus de notifications) compensent ce qu'on y gagne.

 

Quant au point 1 (comment améliorer l'autonomie de la batterie) ça semble quasiment impossible si one ne peut arrêter aucune application automatiquement; il est hors de question de forcer l'arrêt de chaque application après usage!

Tu dis ça car tu présuppose que toutes les appli qui restent en mémoire exécutent du code en continu et de façon importante. C'est loin d'être le cas pour la grande majorité d'entre elles. De plus je persiste à considérer que surveiller et tuer les applis consomme *aussi* de la batterie et le bilan final a toutes les chances d'être décevant. Sans oublier que le code d'initialisation des applis sera re-exécuté a *chaque* lancement, gaspillage donc.

On voit ici et là des tas de gens qui mettent en placent des usines a gaz sur leur appareil, allant même jusqu'à utiliser des kernel alternatifs. J'aimerai bien voir le bilan chiffré. Je serai bien étonné si que ça fasse gagner plus de 5% au final. Mieux vaut se focaliser et essayer d'optimiser les options des 2 ou 3 applications réellement gourmandes que se compliquer la vie avec des solutions magiques universelles 

 

Peut-être qu'Android n'est pas le meilleur choix sur un smartphone et que Windows Phone conviendrait mieux ?

Ca c'est un autre sujet, mais je ne serai pas surpris que Windows Phone ait un comportement similaire.

De toutes façon j'ai bien peur que ce soit un débat stérile, vu qu'on ne peux pas, comme sur PC, choisir séparément le hardware et l'OS histoire de comparer des choses comparables. 

 

Vu que tu as récemment basculé sous Android, ce que je te conseille est d'observer la consommation individuelle des appli les plus gourmandes, sur plusieurs cycles de charge complète et, seulement ensuite quand tu disposera de suffisamment de recul et de statistiques, de te demander ce qui peut être amélioré au cas pas cas. Les solutions universelles sont rarement les plus efficaces.

 

Link to comment
Share on other sites

Merci de prendre le temps de répondre précisément à mes élucubrations! C'est très sympa et ça m'aide beaucoup!

 

1. J'ai programmé il y a quelques années, sur de très gros ordinateurs IBM, ensuite sur des machine plus petites, mais jamais pour des smartphones. Quand je vois certains programmes actuellement, je me dis que les règles de base de programmation que nous nous imposions à l'époque ne sont plus respectées. J'ai l'impression que les développeurs actuellement se moquent de la consommation mémoire et surtout processeur de leur code... C'est vrai que le matériel a heureusement évolué en quelques décennies! Ce qui permet d'éviter la phase d'optimisation du programme qui représentait plus de la moitié du travail il y a quelques décennies.

3. Ma courte et jeune expérience indique que tu as raison et que le remède est peut-être pire que le mal. En plus, il est inacceptable de devoir tuer un processus qu'on n'utilise plus. L'informatique est censée nous éviter les tâches répétitives, ne l'oublions pas.

4. Ce que je veux c'est que le code ne soit exécuté que quand je le veux, pas systématiquement à chaque démarrage. Inutile de vider 20% de la batterie au démarrage si l'application ne m'est pas utile aujourd'hui.

5. J'utilise mes PC plusieurs heures chaque jour. De nombreuses applications sont en sommeil et consomment en arrière-plan de l'énergie. Mais peu importe, les PC sont connectés sur le secteur. Ce n'est pas le cas des smartphones dont l'alimentation est très limitée. Je suis d'accord que les applications qui tournent quand je ne les utilise plus ne consomment que quelques % de la batterie, c'est vraiment très faible, mais c'est cependant "gênant".

6. Je parle ici de ce que certains programmes tels Battery Doctor ou autres que j'ai testés ont montré: certaines applications que je n'utilisent plus continuent de consommer la batterie (très peu, heureusement). Le principe me gêne bien qu'il semble être inhérent à Android (et peut-être à d'autres OS, je ne sais pas). Ce que je souhaiterais c'est qu'une application que je n'utilise pas ne consomme plus de batterie comme en environnement Windows. Je cherche une solution simple, pas une usine à gaz plus complexe que ce que j'ai parfois dû installer sur les ordinateurs dont je me suis occupé il y des années.

7. J'aimerais avoir l'occasion d'utiliser un téléphone sous Windows Phone afin de me faire une idée des différences et similitudes avec Android.

 

J'enregistre actuellement des informations sur la vie du smartphone afin de pouvoir ensuite éventuellement tirer des conclusions afin d'améliorer le fonctionnement. N'ayant pas d'expérience je me renseigne afin de tenter de comprendre et apprécier cet OS qui a des avantages par rapport à d'autres semble-t-il.

Link to comment
Share on other sites

certaines applications que je n'utilisent plus continuent de consommer la batterie (très peu, heureusement). Le principe me gêne bien qu'il semble être inhérent à Android (et peut-être à d'autres OS, je ne sais pas). Ce que je souhaiterais c'est qu'une application que je n'utilise pas ne consomme plus de batterie comme en environnement Windows. Je cherche une solution simple, pas une usine à gaz plus complexe que ce que j'ai parfois dû installer sur les ordinateurs dont je me suis occupé il y des années.

Le seul point important est a mon avis le paragraphe ci dessus.

Déjà, il est difficile de déterminer de façon entièrement automatique ce qu'est une "application que tu n'utilises pas"

Le critère ne peut bien entendu pas bêtement être "l'application n'est pas au premier plan", car dans ce cas une seule appli serait éligible (celle affichée à l'écran) et il conviendrai de tuer toutes les autres et/ou instantanément chaque appli passant d'avant en arrière plan, ce qui n'est bien entendu pas envisageable.

On doit alors envisager au minimum une approche de type "white list" ou "black list", mais ça risque d'être franchement galère à configurer, sans oublier que certaines interdépendances biens chiadées risquent d'être se faire jour avec des effets de bords bien velus à analyser.

 

En outre on ne peut pas appliquer le traitement indistinctement à toutes. Certaines ont vocation a passer régulièrement d'arrière plan au premier plan (exemple: messagerie) et il n'est pas justifié tuer ces dernières trop souvent pour cette simple raison.

 

Dans tous les cas, pour automatiser le tout, faut bien imaginer un process qui va tourner en tache de fond pour déterminer ce qu'il est pertinent ou pas de tuer préemptivement.

On imagine bien volontiers, que ce process-là va consommer pour son propre usage pas mal de cycles CPU vu qu'il sera quasiment tout le temps actif (peut se réveiller à intervalles réguliers plus ou moins espacés mais ca ne fait que réduire l'impact sans le réduire à zero).

 

J'ajouterai une chose importante à laquelle on ne pense pas en observant les statistiques brutes de consommations CPU: Android fait usage intensif de la modulation de la fréquence ainsi que du nombre de coeurs actifs. Quand le système est en veille (pas seulement d'ailleurs) il est capable de baisser drastiquement la fréquence des cœurs et d'en désactiver certains (s'observe simplement avec un moniteur système pas trop basique). Par suite, je ne suis pas sur que les statistiques de consommation CPU process par process doivent être prises au pied de la lettre! 1mn de cpu à 1Ghz ne consomme pas la même quantité de courant qu'à 200mhz, pourtant ans les deux cas on lit 1mn dans les stats cumulatives du process, me semble pas qu'un coefficient soit appliqué.

Ce que je cherche à dire est qu'une voie probablement plus efficace pour optimiser la consommation batterie est jouer sur ces paramètres (éventuellement en acceptant un impact sur les performances par moment) plutôt que simplement tuer des process.

A part ça, l'approche mise en oeuvre dans Android 6 et suivant (Doze) me semble aller dans la bonne direction et peut être même spectaculaire pour tous ceux dont le smartphone est en veille (écran éteint) une grande partie du temps (encore le cas de beaucoup d'entre nous je pense). Mais il est vrai que ça ne s'applique pas à ta version 5.1.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...