"Memoria interna" Android utilizzata ma non segnalata


9

Come proprietario di un Nexus One con Gingerbread, continuo a lottare per mantenere spazio libero nella memoria interna del mio telefono. Oggi ho notato qualcosa di strano.

La parte inferiore della schermata "Gestisci applicazioni" di Andorid mostra un grafico a barre che riporta la "Memoria interna" del telefono (ho 29M gratis). Quando faccio clic su un'app, vedo l'archiviazione per "Applicazione" e per "Dati" dell'app. L'applicazione, nella maggior parte dei casi, è memorizzata sulla scheda SD. I "dati" dell'applicazione sono memorizzati sul telefono (presumo).

Quello che sto scoprendo è che non vedo il quadro completo di ciò che sta occupando la memoria interna. Ad esempio, ho 29M gratuiti nella memoria interna. L'app Angry Birds, memorizzata sulla scheda SD, è 3.14M. I suoi dati sono 4.0K. Quindi cancello Angry Birds (sussulto!) E la mia memoria interna libera passa a 31M. Quindi sembra che sia stato liberato 2M, quando solo mi sarei aspettato che liberasse 4.0K. Qualche idea di cosa sta succedendo qui?

Risposte:


4

La differenza di spazio libero può essere spiegata da tre fattori rilevanti che potrebbero finire per darti alcune informazioni fuorvianti sullo spazio reale disponibile nella memoria interna:

  1. Lo spazio libero riportato

    Lo spazio libero riportato alla fine della schermata "Gestisci applicazioni" è arrotondato a MB e ti dà una stima generale dello spazio libero in base al momento in cui hai aperto la schermata, e viene aggiornato di volta in volta (dai miei test su ogni minuto).

    Ho citato "arrotondato" perché se accedi al pannello "Impostazioni di archiviazione", otterrai un'immagine chiara dello spazio disponibile disponibile, fino a KB.

  2. Allocazione delle app

    Come già accennato da t0mm13b, un'applicazione può essere interamente spostata sulla SDCard o lasciarne una parte, questo problema è più legato allo sviluppo dell'applicazione stessa e non ci sono regole standard da seguire.

    Ho eseguito un esercizio con "Angry Birds" e, mentre il download parlava di 20 MB, dopo l'installazione ha consumato 24 MB. Dopo averlo spostato sulla SDCard utilizzando l'opzione per questo scopo nella schermata "Gestisci applicazioni", 1,85 MB sono stati lasciati indietro nella memoria interna, oltre a 4KB di dati.

  3. File di sistema temporanei da altre applicazioni o servizi in esecuzione

    Mentre stavo scrivendo questa risposta, lo spazio libero riportato variava tra 2 MB, questo ci dice che il sistema operativo crea e libera costantemente spazio a seconda delle cose in esecuzione.

Potrebbero esistere altri fattori che riguardano le specifiche del file system ext4 utilizzate da Gingerbread, ma non credo che spieghino meglio la differenza di 2 MB.


Dai tre punti sopra menzionati, mentre eseguivo un esercizio con l'applicazione che hai menzionato usando un dispositivo con una ROM Gingerbread di serie, sono riuscito a tenere conto di 2 MB di differenza, proprio come lo spazio che hai menzionato.


Determina lo spazio interno ed esterno occupato

Seguendo i commenti, riguardo a un modo per sapere con precisione quanto occupa un'app sul dispositivo e poterla visualizzare tramite memoria esterna o interna, l'applicazione più accurata che sto attualmente utilizzando è SanDisk Memory Zone di SanDisk Corp. disponibile gratuitamente dal Google Play Store.

  1. Apri l'applicazione
  2. Seleziona la memoria desiderata
  3. Controlla i dettagli al riguardo

    ScanDisk Schermate


Ottima spiegazione, come sempre quando Zuul lo fa :) Quindi diresti che l'utente finale può determinare in modo chiaro quanto spazio viene consumato da un'app e dove - senza coinvolgere "cose ​​complicate" come ad esempio l'uso di app terminali? Dato che qui abbiamo molte domande su "dov'è finito il mio deposito", questo sarebbe di grande aiuto.
Izzy

Aggiungendo al mio commento precedente, poiché non lo avevo chiarito: intendevo determinare quanto spazio è occupato da un'app sulla memoria interna e quanto sulla memoria esterna , ovvero vedere quanto e dove. La cosa migliore ovviamente è se si potesse vedere tutto questo in un unico posto, al contrario di quello che ho mostrato nella mia risposta con gli esploratori grafici dello storage.
Izzy

Credo che siano i file dex delle app che tendono a rimanere dietro la memoria del telefono quando vengono spostati su SD usando Apps2SD di serie. Quindi la mia teoria è che, meno i file dex dell'app, più efficiente diventa App2SD.
Irfan,

Mi sono già chiesto se la cache di Dalvik è inclusa nella "allocazione app" fornita. Lo stesso vale per i file temporanei, che sarebbero identificabili tramite il loro proprietario (uid) - ma ciò richiederebbe una scansione completa del file system, che costerebbe un po 'di tempo e risorse, ma teoricamente potrebbe essere fatto su richiesta (tramite alcuni pulsanti di scansione).
Izzy

1
Grazie per l'aggiunta, @Zuul! Mentre usi quell'app: lo screenshot non mostra alcuna divisione nella "memoria del telefono". Distingue tra le partizioni /datae /data/data, che spesso causa confusione (se si tratta di partizioni separate, il che non è vero per tutti i dispositivi / versioni Android)?
Izzy

3

Controllando, ho appena trovato alcune app utili che rivelano dove va l'archiviazione.

Per uno, c'è DiskUsage . Sebbene lo screenshot 1 mostri qui la sdcard, il video sulla pagina del playstore delle app chiarisce che può essere utilizzato anche sulla memoria interna - e persino i collegamenti alla pagina delle app che di solito trovi tramite Menu -> Applicazioni -> Gestisci applicazioni . Puoi camminare e ingrandire / ridurre ciascuna area, come mostrano le annotazioni sullo screenshot.

Il mio secondo candidato è la tabella delle dimensioni delle cartelle , che presenta un design diverso e, come mostrato nella schermata 2 , può occuparsi anche di archiviazione interna.

Uso del disco Tabella delle dimensioni della cartella

Questi due possono sicuramente aiutare a identificare i "maiali di stoccaggio". Ce ne sono molti altri trovati nel playstore che seguono questo concetto, ma la maggior parte sono limitati alla sdcard o richiedono l'accesso come root.


3

Poiché l'N1 è strettamente correlato all'HTC Incredible, potresti riscontrare lo stesso problema di spazio di archiviazione ridotto che affligge gli utenti Incredibili (come me). Ho fatto una domanda correlata quando ho iniziato a sperimentare la chiusura forzata delle app a causa della mancanza di spazio di partizione e in seguito ho consolidato la mia comprensione delle partizioni di dati in una risposta a una domanda sull'avvertimento di "spazio insufficiente" (memoria interna) su HTC Incredible :

... la schermata delle impostazioni della mia app mi mostra quale deve essere l' /datauso (mai vicino al massimo, le /datadimensioni dei numeri riportate da DiskUsage) anche se le mie app sono in realtà vincolate dal molto più piccolo /data/data(dove finisco spesso lo spazio) ...

Ho scoperto che il numero indicato come "Memoria interna" riportava qualcosa di completamente inutile ed era, a tutti gli effetti, inutile aiutarmi a gestire effettivamente l'archiviazione delle app. Concordo con Izzy nella sua raccomandazione di DiskUsage , l'ho trovato molto utile soprattutto quando è stato effettuato il root (con i permessi di root può visualizzare l' /data/datautilizzo della partizione). L'utilizzo dell'emulatore di terminale per indagare sull'utilizzo è stato utile anche per diagnosticare il mio problema. Quando dai un'occhiata alle tue /datae alle tue /data/datapartizioni, vedi le stesse discrepanze?


2

Sembra che tu stia usando Apps2SD o equivalente per cui, spostando l'app sulla SDCard, solo una parte dell'app viene archiviata nella memoria interna e il resto sulla SDCard.

Per la verifica, controlla la tua SDCard e vedi se i dati dell'app sono ancora lì, questo dovrebbe essere presente /sdcard/Android/data/seguito dal nome del pacchetto dell'applicazione installata.

Questo è un normale meccanismo di Apps2SD.


Grazie, sto usando Link2SD. Non mi ero reso conto che lasciava una parte dell'app dietro. Questo aiuta a spiegarlo.
rcourtna,

1

Molte persone hanno quel tipo di problema e io ho lo stesso. Lo spostamento di app su scheda SD ritarda solo un po 'il problema perché qualcos'altro riempie la memoria interna. Finalmente ho capito e funziona benissimo.

Ho un Galaxy Tab 7 ma molti dispositivi Android lo sperimenteranno. Quello chiamato in /datarealtà non è in realtà solo dati ma è dove Android installa l'apk dell'applicazione e alcuni dei dati ad esso correlati. Se si forza l'installazione dell'apk su scheda SD, utilizzerà comunque parte dello /dataspazio (piccola quantità) per alcuni dati.

Il problema che ho scoperto è /data/tombstoneche troverai 10 file denominati tombstone_0#. Queste sono informazioni di debug costanti / non-stop raccolte da Android. Questi file si accumulano nel tempo. Non è necessario per un utente normale. Elimina tutti. Questi 4 file utilizzavano 1,4 GB di memoria interna per tablet da 1,89 GB.

Per fare ciò, dovrai eseguire il root del tuo dispositivo. Si, devi. E non esploderà non ti preoccupare, l'ho fatto e anche molti altri! Quindi ottenere un programma come "Root Explorer" per sfogliare ed eliminare la posta indesiderata. Richiederà e ti verrà concesso il privilegio di root se hai effettuato il root del tuo dispositivo in precedenza e sarai in grado di fare quello che vuoi.

Per eseguire il root del tuo dispositivo, basta google "root android [il mio modello di dispositivo]" e dovresti trovare rapidamente come effettuare il root del tuo dispositivo.

Questo problema è un difetto di progettazione. Quando la memoria interna è insufficiente, Android dovrebbe avviare un'attività in background per eliminare la posta indesiderata.


Vedi anche i miei commenti sulla tua risposta simile qui : non ho mai visto lapidi che occupano più di 10 MB, il tuo caso è il primo. E anche se, richiede root per rimuoverli. PS: Poiché le "pietre tombali" sono quelle che vengono chiamate "core dump" su Unix / Linux, le loro dimensioni variano con la memoria utilizzata dai loro corrispondenti processi (bloccati). Obvioulsy le tue app sono state piuttosto affamate di memoria :)
Izzy
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.