Android "Almacenamiento interno" usado pero no reportado

9

Como propietario de un Nexus One con Gingerbread, continuamente lucho por mantener espacio libre en el almacenamiento interno de mi teléfono. Hoy noté algo extraño.

La parte inferior de la pantalla "Administrar aplicaciones" de Andorid muestra un gráfico de barras que informa sobre el "Almacenamiento interno" del teléfono (tengo 29 millones gratis). Cuando hago clic en una aplicación, puedo ver el almacenamiento de la "Aplicación" y de los "Datos" de la aplicación. La aplicación, en la mayoría de los casos, se almacena en la tarjeta SD. Los "datos" de la aplicación se almacenan en el teléfono (supongo).

Lo que encuentro es que no veo la imagen completa de lo que está ocupando el almacenamiento interno. Por ejemplo, tengo 29 millones gratis en almacenamiento interno. La aplicación Angry Birds, que está almacenada en la tarjeta SD, es 3.14M. Sus datos son 4.0K. Luego elimino Angry Birds (¡jadeo!), Y mi almacenamiento interno gratuito salta hasta 31M. Entonces parece que ha liberado 2M, cuando solo hubiera esperado que liberara 4.0K. ¿Alguna idea de lo que está pasando aquí?

rcourtna
fuente

Respuestas:

4

La diferencia de espacio libre puede explicarse por tres factores relevantes que pueden terminar brindándole información engañosa sobre el espacio real disponible en su almacenamiento interno:

  1. El espacio libre reportado

    El espacio libre informado al final de la pantalla "Administrar aplicaciones" se redondea a MB, y le brinda una estimación general del espacio libre en función del momento en que abrió dicha pantalla, y se actualiza de vez en cuando (según mis pruebas sobre cada minuto).

    He mencionado "redondeado" porque si accede al panel "Configuración de almacenamiento", obtendrá una imagen clara del espacio libre disponible, hasta KB.

  2. La asignación de aplicaciones

    Como ya se mencionó en t0mm13b, una aplicación se puede mover por completo a la SDCard o dejar una parte, este problema está más relacionado con el desarrollo de la aplicación en sí y no hay reglas estándar a seguir.

    Realicé un ejercicio con "Angry Birds", y aunque la descarga mencionó 20 MB, después de instalarlo consumió 24 MB. Después de moverlo a la tarjeta SD usando la opción para este fin en la pantalla "Administrar aplicaciones", quedaron 1,85 MB en el almacenamiento interno, más 4KB de datos.

  3. Archivos temporales del sistema de otras aplicaciones o servicios en ejecución

    Mientras escribía esta respuesta, el espacio libre reportado variaba entre 2 MB, esto nos dice que el sistema operativo está constantemente creando y liberando espacio dependiendo de las cosas en ejecución.

Es posible que existan otros factores relacionados con las especificaciones del sistema de archivos ext4 utilizados por Gingerbread, pero no creo que sean más responsables de la diferencia de 2 MB.


Por los tres puntos mencionados anteriormente, mientras realizaba un ejercicio con la aplicación que mencionó usando un dispositivo con una ROM de Gingerbread, logré dar cuenta de 2MB de diferencia, al igual que el espacio que mencionó.


Determinar el espacio interno y externo ocupado

Siguiendo los comentarios, con respecto a una forma de saber con precisión cuánto ocupa una aplicación en el dispositivo y poder verla mediante almacenamiento externo o interno, la aplicación más precisa que estoy usando actualmente es SanDisk Memory Zone de SanDisk Corp. disponible de forma gratuita en Google Play Store.

  1. Abrir la aplicación
  2. Seleccione el almacenamiento deseado
  3. Consulta los detalles al respecto

    Capturas de pantalla de ScanDisk

Zuul
fuente
Muy buena explicación, como siempre cuando Zuul lo hace :) Entonces, ¿diría que hay alguna forma para que el usuario final determine claramente cuánto espacio consume una aplicación y dónde, sin involucrar "cosas complicadas" como, por ejemplo, el uso de aplicaciones de terminal? Como tenemos muchas preguntas aquí con respecto a "dónde se fue mi almacenamiento", esto sería de gran ayuda.
Izzy
Agregando a mi comentario anterior, ya que no lo dejé claro: quise determinar cuánto espacio ocupa una aplicación en el almacenamiento interno y cuánto en el almacenamiento externo , es decir, para ver cuánto y dónde. Lo mejor, por supuesto, es si uno pudiera ver todo esto en un solo lugar, a diferencia de lo que mostré en mi respuesta con los exploradores de almacenamiento gráfico.
Izzy
Creo que son los archivos dex de aplicaciones que tienden a permanecer detrás de la memoria del teléfono cuando se mueven a SD usando Stock2SD de serie. Entonces, mi teoría es que, cuanto menores son los archivos dex de la aplicación, más eficiente se vuelve App2SD.
Irfan
Ya me pregunté si el caché Dalvik está incluido con la "asignación de aplicación" dada. Lo mismo para los archivos temporales, que serían identificables a través de su propietario (uid), pero esto requeriría un escaneo completo del sistema de archivos, lo que costaría un poco de tiempo y recursos, pero en teoría podría hacerse a pedido (a través de algún botón de reescaneo).
Izzy
1
Gracias por la adición, @Zuul! Mientras usa esa aplicación: La captura de pantalla no muestra división en la "memoria del teléfono". ¿Distingue entre las particiones /datay /data/data, que a menudo causan confusión (si son particiones separadas, lo que no es cierto para todos los dispositivos / versiones de Android)?
Izzy
3

Al revisar, acabo de encontrar algunas aplicaciones útiles que revelan dónde va el almacenamiento.

Por un lado, hay DiskUsage . Aunque la captura de pantalla 1 muestra la tarjeta SD aquí, el video en la página de Play Store de aplicaciones deja en claro que también se puede usar en el almacenamiento interno, e incluso enlaces a la página de aplicaciones que generalmente encuentra a través de Menú -> Aplicaciones -> Administrar aplicaciones . Puede caminar y acercar / alejar cada área, como muestran las anotaciones en la captura de pantalla.

Mi segundo candidato es la Tabla de tamaño de carpeta , que viene con un diseño diferente y, como se ve en la captura de pantalla 2 , también puede ocuparse del almacenamiento interno.

Uso del disco Tabla de tamaño de carpeta

Estos dos definitivamente pueden ayudar a identificar "cerdos de almacenamiento". Hay muchos otros que se encuentran en la tienda de juegos que siguen este concepto, pero la mayoría están limitados a la tarjeta sd o requieren acceso de root.

Izzy
fuente
3

Como el N1 está estrechamente relacionado con el HTC Incredible, es posible que se encuentre con el mismo problema de poco espacio de almacenamiento que afecta a los usuarios increíbles (como yo). Hice una pregunta relacionada cuando comencé a experimentar el cierre forzado de las aplicaciones debido a la falta de espacio de partición y luego consolidé mi comprensión de las particiones de datos en una respuesta a una pregunta sobre la falsa advertencia de "poco espacio" (almacenamiento interno) en HTC Incredible :

... la pantalla de configuración de mi aplicación me muestra cuál debe ser el /datauso (nunca cerca del /datatamaño completo, los números coinciden con el tamaño informado por DiskUsage) a pesar de que mis aplicaciones en realidad están limitadas por las mucho más pequeñas /data/data(donde a menudo me quedo sin espacio) ...

Descubrí que el número reportado como "Almacenamiento interno" informaba algo completamente inútil y, a decir de todos, era inútil para ayudarme a administrar el almacenamiento de la aplicación. Estoy de acuerdo con Izzy en su recomendación de DiskUsage , lo encontré muy útil especialmente cuando está rooteado (con permisos de root puede mostrar el /data/datauso de la partición). Usar el emulador de terminal para investigar el uso también fue útil para diagnosticar mi problema. Cuando observas tus particiones /datay /data/data, ¿ves las mismas discrepancias?

Señor buster
fuente
2

Esto suena como si estuviera usando Apps2SD o equivalente, por lo que, al mover la aplicación a la SDCard, solo una parte de la aplicación se almacena en el almacenamiento interno y el resto en la SDCard.

Para la verificación, verifique su tarjeta SD y vea si los datos de la aplicación todavía están allí, esto debe estar presente /sdcard/Android/data/seguido del nombre del paquete de la aplicación instalada.

Ese es un mecanismo normal de la Apps2SD.

t0mm13b
fuente
Gracias, estoy usando Link2SD. No me di cuenta de que deja una parte de la aplicación detrás. Esto ayuda a explicarlo.
rcourtna
1

Muchas personas tienen ese tipo de problema y yo tengo el mismo. Mover aplicaciones a la tarjeta SD solo retrasa un poco el problema porque algo más llena el almacenamiento interno. Finalmente lo descubrí y funciona muy bien.

Tengo un Galaxy Tab 7 pero muchos dispositivos Android lo experimentarán. En /datarealidad, el llamado no es solo datos, sino que es donde Android instala la aplicación apk y algunos de los datos relacionados con ella. Si fuerza el apk instalar en la tarjeta SD, se siguen utilizando algunos de los /dataespacio (pequeña cantidad) para algunos datos.

El problema que descubrí está en /data/tombstone, encontrarás 10 archivos con nombre tombstone_0#. Se trata de información de depuración constante / continua recopilada por Android. Estos archivos se acumulan con el tiempo. No necesitas eso para un usuario normal. Eliminarlos todos. Estos 4 archivos usaban 1,4 GB de mi almacenamiento interno de tableta de 1,89 GB.

Para hacerlo, deberás rootear tu dispositivo. Si, debes. Y no explotará, no te preocupes, ¡lo he hecho y muchos otros también! Luego obtenga un programa como "Root Explorer" para explorar y eliminar la basura. Solicitará y se le otorgará el privilegio de root si ha rooteado su dispositivo anteriormente y podrá hacer lo que quiera.

Para rootear su dispositivo, simplemente busque "root android [mi modelo de dispositivo]" en google y debería encontrar rápidamente cómo rootear su dispositivo.

Este problema es un defecto de diseño. Cuando hay poco almacenamiento interno, Android debe comenzar una tarea en segundo plano para limpiar esa basura.

Sylvain Huard
fuente
Vea también mis comentarios sobre su respuesta similar aquí : nunca vi lápidas que ocupan más de 10 MB, su caso es el primero. E incluso si, requiere root para eliminarlos. PD: Como las "lápidas" son lo que se llama "volcados del núcleo" en Unix / Linux, su tamaño varía con la memoria utilizada por sus procesos correspondientes (bloqueados). Obviooulsy el suyo ha sido aplicaciones bastante hambrientas de memoria :)
Izzy