3 votes

Stock Android utilise toujours 100 % de la mémoire physique. Comment la libérer avec ADB ?

J'ai un téléphone non rooté. Je viens de comprendre pourquoi Android est mauvais en matière de gestion de la mémoire. Je surveille la progression de l'exécution dans le shell ADB avec top . Je constate que la mémoire est utilisée à 100 %.

Image redimensionnée. Cliquez sur l'image pour l'agrandir

Comment arrêter les processus inutiles avec le shell ADB ?

De plus, je ne peux pas faire défiler la page vers le bas top commande. Il affiche des caractères bizarres ^[[b . Je pense que c'est parce que le shell utilise sh au lieu de bash .

Une idée pour libérer de la mémoire avec ADB ? Peut-être pkill ou quoi.

8voto

pr0nin Points 353

La gestion de la mémoire sous Android fonctionne différemment des systèmes d'exploitation traditionnels. En effet, le système d'exploitation ne sait jamais quand l'utilisateur revient à cette application ou quand l'application devient active en arrière-plan pour d'autres raisons (par exemple, l'arrivée d'un message push). Les applications sont donc conservées dans la mémoire vive à moins qu'une autre application n'en ait réellement besoin.

Du point de vue d'Android, avoir de la RAM libre signifie que la RAM est inutilisée et donc gaspillée.

En effet, lorsqu'une application a été supprimée de la mémoire vive, elle doit être chargée à partir de la mémoire flash, puis effectuer la phase de démarrage. Cela sera toujours plus lent et consommera plus de ressources CPU (-> plus d'utilisation de la batterie) que de passer simplement à une application qui est déjà chargée et présente dans la RAM.

Cependant, la mémoire vive occupe toujours la même batterie, qu'elle soit libre ou utilisée.

Si le système d'exploitation Android a besoin de mémoire vive, il ferme ou tue simplement l'application inutilisée la plus ancienne (je ne sais pas exactement comment la gestion de la mémoire vive du système d'exploitation décide de l'application à quitter). Toutes les applications Android doivent être implémentées de manière à résister à cette sortie hors mémoire. En détail, le système d'exploitation Android envoie d'abord une notification à l'application qu'il a choisi de quitter. Si une application reçoit cette notification, elle dispose d'un très court laps de temps pour faire le ménage. Si l'application ne répond pas dans un certain délai, Android tue simplement le processus de l'application et récupère ainsi la mémoire vive nécessaire.

Comme vous pouvez le constater, avoir un système avec environ 60-100 Mo de RAM libre est tout à fait normal sur Android.

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