«Stockage interne» Android utilisé mais non signalé

9

En tant que propriétaire d'un Nexus One exécutant Gingerbread, je me bats continuellement pour garder de l'espace libre dans le stockage interne de mon téléphone. Aujourd'hui, j'ai remarqué quelque chose d'étrange.

Le bas de l'écran "Gérer les applications" d'Andorid affiche un graphique à barres qui indique le "stockage interne" du téléphone (j'ai 29 millions d'espace libre). Lorsque je clique sur une application, je peux voir le stockage de l '"Application" et des "Données" de l'application. L'application, dans la plupart des cas, est stockée sur la carte SD. Les «données» de l'application sont stockées sur le téléphone (je présume).

Ce que je trouve, c'est que je ne vois pas l'image complète de ce qui prend le stockage interne. Par exemple, j'ai 29 millions d'espace libre dans le stockage interne. L'application Angry Birds, qui est stockée sur la carte SD, fait 3,14M. C'est Data est 4.0K. Je supprime ensuite les Angry Birds (halètement!), Et mon stockage interne gratuit grimpe jusqu'à 31M. Il semble donc qu'il ait été libéré 2M, alors que je m'attendais seulement à ce qu'il libère 4.0K. Une idée de ce qui se passe ici?

rcourtna
la source

Réponses:

4

La différence d'espace libre peut être expliquée par trois facteurs pertinents qui peuvent finir par vous donner des informations trompeuses sur l'espace réel disponible sur votre stockage interne:

  1. L'espace libre signalé

    L'espace libre signalé à la fin de l'écran "Gérer les applications" est arrondi à Mo, et il vous donne une estimation générale de l'espace libre en fonction du moment où vous avez ouvert ledit écran, et il est mis à jour de temps en temps (par mes tests sur chaque minute).

    J'ai mentionné "arrondi" parce que si vous accédez au panneau "Paramètres de stockage", vous obtiendrez une image claire concernant l'espace libre disponible, jusqu'à KB.

  2. L'allocation d'application

    Comme déjà mentionné par t0mm13b, une application peut être entièrement déplacée vers la carte SD ou laisser une partie derrière, ce problème est davantage lié au développement de l'application elle-même et il n'y a pas de règles standard à suivre.

    J'ai effectué un exercice avec "Angry Birds", et bien que le téléchargement mentionne 20 Mo, après l'installation, il a consommé 24 Mo. Après l'avoir déplacé vers la carte SD à l'aide de l'option à cette fin sous l'écran "Gérer les applications", 1,85 Mo ont été laissés sur le stockage interne, plus 4 Ko de données.

  3. Fichiers système temporaires d'autres applications ou services en cours d'exécution

    Pendant que j'écrivais cette réponse, l'espace libre signalé variait entre 2 Mo, cela nous indique que le système d'exploitation crée et libère constamment de l'espace en fonction des choses en cours d'exécution.

Il peut exister d'autres facteurs qui concernent les spécifications du système de fichiers ext4 utilisées par Gingerbread, mais je ne pense pas qu'elles tiennent mieux compte de la différence de 2 Mo.


Par les trois points mentionnés ci-dessus, tout en effectuant un exercice avec l'application que vous avez mentionnée en utilisant un appareil avec une ROM Gingerbread stock, j'ai réussi à tenir compte de 2 Mo de différence, tout comme l'espace que vous avez mentionné.


Déterminer l'espace interne et externe occupé

Suite aux commentaires, concernant un moyen de savoir exactement combien une application occupe sur l'appareil et de pouvoir la visualiser par stockage externe ou interne, l'application la plus précise que j'utilise actuellement est SanDisk Memory Zone de SanDisk Corp. disponible gratuitement sur Google Play Store.

  1. Ouvrez l'application
  2. Sélectionnez le stockage souhaité
  3. Vérifiez les détails à ce sujet

    Captures d'écran ScanDisk

Zuul
la source
Très bonne explication, comme toujours quand Zuul le fait :) Donc, diriez-vous qu'il existe un moyen pour l'utilisateur final de déterminer clairement combien d'espace est consommé par une application, et où - sans impliquer des "choses compliquées" comme par exemple l'utilisation de applications de terminal? Comme nous avons ici beaucoup de questions concernant "où est passé mon stockage", ce serait d'une grande aide.
Izzy
Pour ajouter à mon commentaire précédent, car je n'ai pas précisé cela: je voulais dire combien d'espace est occupé par une application sur le stockage interne, et combien sur le stockage externe - c'est-à-dire pour voir combien et où. Le mieux, bien sûr, est de voir tout cela au même endroit - contrairement à ce que j'ai montré dans ma réponse avec les explorateurs de stockage graphique.
Izzy
Je pense que ce sont les fichiers dex des applications qui ont tendance à rester derrière la mémoire du téléphone lorsqu'il est déplacé en SD en utilisant le stock Apps2SD. Donc, ma théorie est que, moins les fichiers dex de l'application, plus efficace devient App2SD.
Irfan
Je me suis déjà demandé si le cache Dalvik est inclus avec l '"allocation d'application" donnée. Idem pour les fichiers temporaires, qui seraient identifiables via leur propriétaire (uid) - mais cela nécessiterait une analyse complète du système de fichiers, ce qui coûterait un peu de temps et de ressources, mais théoriquement, cela pourrait être fait à la demande (via un bouton de nouvelle analyse).
Izzy
1
Merci pour l'ajout, @Zuul! Lorsque vous utilisez cette application: la capture d'écran ne montre aucune division sur la «mémoire du téléphone». Distingue-t-il les partitions /dataet /data/data, ce qui provoque souvent des confusions (s'il s'agit de partitions distinctes - ce qui n'est pas vrai pour tous les appareils / versions Android)?
Izzy
3

En vérifiant, je viens de trouver quelques applications utiles qui révèlent où va le stockage.

D'une part, il y a DiskUsage . Bien que la capture d'écran 1 montre la carte SD ici, la vidéo sur la page Playstore des applications indique clairement qu'elle peut également être utilisée sur le stockage interne - et même des liens vers la page des applications que vous trouvez généralement via Menu -> Applications -> Gérer les applications . Vous pouvez marcher et zoomer / dézoomer sur chaque zone, comme le montrent les annotations sur la capture d'écran.

Mon deuxième candidat est le tableau de taille des dossiers , qui est livré avec un design différent et, comme le montre la capture d'écran 2 , peut également traiter du stockage interne.

Utilisation du disque Tableau des tailles de dossier

Ces deux éléments peuvent certainement aider à identifier les "porcs de stockage". Il y en a beaucoup d'autres dans le Playstore qui suivent ce concept, mais la plupart sont limités à la carte SD ou nécessitent un accès root.

Izzy
la source
3

Comme le N1 est étroitement lié au HTC Incredible, vous pourriez rencontrer le même problème d'espace de stockage faible qui afflige les utilisateurs d'Incredible (comme moi). J'ai posé une question connexe lorsque j'ai commencé à expérimenter la fermeture forcée des applications en raison d'un manque d'espace de partition et j'ai consolidé ma compréhension des partitions de données plus tard dans une réponse à une question sur le faux avertissement de manque d'espace (stockage interne) sur HTC Incredible :

... l'écran des paramètres de mon application me montre quelle doit être l' /datautilisation (jamais proche de la /datataille maximale , les chiffres correspondent à la taille rapportée par DiskUsage) même si mes applications sont en fait limitées par le plus petit /data/data(où je manque souvent de place) ...

J'ai trouvé que le nombre signalé comme «stockage interne» signalait quelque chose de complètement inutile et était, selon tous les comptes, inutile pour m'aider à gérer le stockage des applications. Je suis d'accord avec Izzy dans sa recommandation de DiskUsage , je l'ai trouvé très utile, surtout lorsqu'il est enraciné (avec les autorisations root, il peut afficher l' /data/datautilisation de la partition). L'utilisation de l'émulateur de terminal pour étudier l'utilisation a également été utile pour diagnostiquer mon problème. Lorsque vous jetez un œil à vos partitions /dataet /data/data, voyez-vous les mêmes différences?

M. Buster
la source
2

Il semble que vous utilisiez Apps2SD ou équivalent, en déplaçant l'application sur la carte SD, seule une partie de l'application est stockée dans la mémoire interne et le reste sur la carte SD.

Pour vérification, vérifiez votre carte SD et voyez si les données de l'application sont toujours là, cela devrait être présent /sdcard/Android/data/suivi du nom du package de l'application installée.

C'est un mécanisme normal de l'Apps2SD.

t0mm13b
la source
Merci, j'utilise Link2SD. Je ne savais pas que cela laissait une partie de l'application derrière. Cela aide à l'expliquer.
rcourtna
1

Beaucoup de gens ont ce genre de problème et j'ai le même. Le déplacement des applications sur la carte SD retarde juste un peu le problème car quelque chose d'autre remplit le stockage interne. J'ai finalement compris et cela fonctionne très bien.

J'ai une Galaxy Tab 7, mais de nombreux appareils Android en feront l'expérience. Celui qui /dataest appelé n'est en fait pas vraiment juste des données, mais c'est là qu'Android installe l'application apk et certaines des données qui s'y rapportent. Si vous forcez l'apk à installer sur la carte SD, il utilisera toujours une partie de l' /dataespace (petite quantité) pour certaines données.

Le problème que j'ai découvert est /data/tombstone, vous trouverez 10 fichiers nommés tombstone_0#. Ce sont des informations de débogage constantes / non-stop collectées par Android. Ces fichiers s'accumulent au fil du temps. Vous n'en avez pas besoin pour un utilisateur normal. Supprimez-les tous. Ces 4 fichiers utilisaient 1,4 Go de stockage de tablette interne de 1,89 Go.

Pour ce faire, vous devrez rooter votre appareil. Oui, vous devez. Et ça n'explosera pas ne t'inquiète pas, je l'ai fait et bien d'autres aussi! Obtenez ensuite un programme comme "Root Explorer" pour parcourir et supprimer les fichiers indésirables. Il demandera et obtiendra le privilège root si vous avez rooté votre appareil auparavant et vous pourrez faire ce que vous voulez.

Pour rooter votre appareil, il suffit de google "root android [mon modèle d'appareil]" et vous devriez trouver rapidement comment rooter votre appareil.

Ce problème est un défaut de conception. En cas de stockage interne faible, Android devrait démarrer une tâche en arrière-plan pour nettoyer ces fichiers indésirables.

Sylvain Huard
la source
Veuillez également voir mes commentaires sur votre réponse similaire ici - Je n'ai jamais vu de pierres tombales occupant plus de 10 Mo, votre cas est le premier. Et même si, il faut root pour les supprimer. PS: Comme les "pierres tombales" sont ce qu'on appelle des "vidages mémoire" sur Unix / Linux, leur taille varie en fonction de la mémoire utilisée par leurs processus correspondants (bloqués). Les vôtres ont été des applications assez gourmandes en mémoire :)
Izzy