zyva expose [:couteau suisse]
ah bah oui on pourrait se dire que tu es informaticien de profession, que si on te met sur la piste tu pourrais faire un minimum de recherche mais bon
Donc depuis Android Froyo (2.2) qui on va dire est la version qui s'est mise a gerer correctement le multitache le fonctionnement d'une appli du point de vue système c'est ça
Android contrairement aux PC ne peut pas se payer le luxe d'utiliser un swap car il n'y a pas le gros disque dur lent mais pas cher pour ça. Tout se passe dans la RAM, comme le montre l'image, quand tu switches, ton appli ne se ferme pas, elle se met en pause, en gros elle reste en RAM en état de veille. Quand tu reviens sur l'appli elle se reveille, tu la quittes, elle se remet en veille et au passage ne consomme pas plus ou moins, que ta RAM soit pleine ou vide la consommation est la même, ce qui consomme c'est une appli qui est en running, elle fait tourner le proc, il y a des échanges mémoire, ca consomme. Une appli en pause en RAM, elle prend juste de la RAM (mais ça tant qu'il t'en reste un morceau de libre au cas où tu t'en fous) mais ne bouge pas et donc ne consomme pas spécialement de batterie. A coté de ça tu as un équivalent de garbage collector systeme qui fait son boulot et qui vient régulièrement nettoyer les ressources qui ne sont réellement plus utilisées.
Une appli qui se lance n'a pas vocation a être dégagées de la mémoire sauf si plantage ou saturation de la RAM (et dans ce cas là le garbage collector d'Android se chargera lui même de dégager les applis les moins utilisées ou les plus consommatrice ou un peu de tout ca
).
Ce que tu fais avec ton task killer auto lancé à chaque extinction d'écran, c'est que tu dégages des applis quelque soit leur état, qui ne consomment pas forcément de CPU, cette opération d'ailleurs consomment du CPU donc de l'autonomie tout ça pour la satisfaction d'avoir des la RAM libre. Utilité d'avoir de la RAM si la satisfaction vient du fait de ne pas l'utiliser ?
Au passage il killera aussi des applications qui fonctionnent comme des services et donc qui se relanceront dans les secondes suivantes avec tout le processus de chargement/initialisation du contexte, oncreate(), etc qui demande des ressources (et donc de l'autonomie) pour en revenir grosso m.odo au même stade qu'avant le lancement du task killer. Wahooooo trop top l'optimisation ! [:dawa]
Bon alors OK des fois tu as une appli qui se met a merder et à boucler en tache de fond, la forcement après le passage de ton task killer ton tel ira plus vite puisqu'en dégageant tout il a aussi dégagé l'appli qui partait en couille et qui s'est peut être relancée correctement mais tu as quand même dégagé inutilement plein de process qui faisaient juste dodo au lieu de juste tuer le process déconnant
Et puis ton truc se lancera à chaque extinction d'écran qu'il y ait un process déconnant ou non
.
Bref la même chose dite bien mieux et plus en détails par les gens de google
http://android-developers.blogspot.fr/2010/04/multitasking-android-way.html et si l'anglais te rebute, fais une recheche sur "android task killer" en limitant aux pages francaises, je pense que tu auras là aussi pas mal d'explications
edit : ah oui j'oubliais " [:couteau suisse] "