"Memoria insufficiente disponibile" anche se c'è molto spazio libero nella memoria del dispositivo


140

Lo spazio totale della mia app è di 10 MB e dopo l'installazione ci vorranno meno di 20 MB. In Galaxy Note I , durante l'aggiornamento della mia app, viene visualizzato "Memoria insufficiente disponibile", dove sono presenti 214 MB di spazio libero nella memoria del dispositivo (interna). Succede anche provando a scaricare una nuova app.

Ho cercato a lungo la soluzione e un motivo perfetto per la causa di questo problema, ma non riesco a trovarla. Come posso risolvere questo problema?

Questo è il risultato dell '"adb shell df" nel mio altro dispositivo che presenta lo stesso problema. Ha 35 MB di spazio libero:

/dev: 115788K total, 0K used, 115788K available (block size 4096)
/mnt/asec: 115788K total, 0K used, 115788K available (block size 4096)
/system: 179840K total, 168376K used, 11464K available (block size 4096)
/data: 201856K total, 168524K used, 33332K available (block size 4096)
/cache: 108544K total, 1284K used, 107260K available (block size 4096)
/cdrom: 8960K total, 8632K used, 328K available (block size 4096)
/tmp: 2048K total, 28K used, 2020K available (block size 4096)
/pds: 1536K total, 1320K used, 216K available (block size 4096)
/mnt/sdcard: 1928992K total, 1014496K used, 914496K available (block size 32768)
/mnt/secure/asec: Permission denied

2
È possibile che lo spazio libero visualizzato non sia quello della memoria interna effettiva, ma di una memoria "esterna" "interna" (come nella saldatura permanente). Se puoi eseguire adb dalla riga di comando, pubblica l'output diadb shell df
Chris Stratton

Questo è il modulo del problema lato client. Quindi non posso eseguire la shell adb.
Sniper,

Quindi chi posso trovare l'effettiva memoria interna (spazio libero) del dispositivo in cui verranno archiviate le applicazioni.
Sniper,

1
hai dichiarato android: installLocation nel manifest?
Cintura nera

8
Questa domanda sembra essere fuori tema perché riguarda un problema a livello di utente. Sarebbe meglio a casa con gli appassionati di Android .
Peter Mortensen,

Risposte:


177

Ecco una soluzione molto semplice che funziona sul mio Samsung Galaxy S II e Note 1 ; Non ho idea di altri modelli:

  1. Apri l'app del telefono e passa alla tastiera.
  2. Comporre *#9900#
  3. Nella schermata che appare, fai clic sul pulsante "Elimina dumpstate / logcat".

In questo modo ho ripristinato circa 1 GB di spazio di sistema.


3
Ha rimosso lo spazio interno (circa 300 MB) sul mio Galaxy Note 1 ma vale la pena notare. +1 dalla mia fine.
Mohammad Arif,

15
Risposta errata a questo problema. Non c'è carenza di memoria interna qui !!!
Robert Siemer,

13
Apparentemente non funziona per dialer non stock (ad esempio CyanogenMod) ma vedi la risposta di rhlee su come fare la stessa cosa se ricevi l'errore "MMI non valido" quando provi questo su un telefono con root, modificato.
ChrisC,

3
Come posso fare la stessa cosa su un tablet che NON ha una tastiera e NON è anche rootato ???
Jalle,

1
Per me (hammerhead, API-19) il problema era che / data / app-lib / conteneva il pacchetto dell'applicazione che ho provato ad installare. Rimuovi e risolto.
shkschneider,

67

All'inizio ho provato la risposta di Berislav Lopac , ma ho avuto Connection problem or invalid MMI code.quando ho provato a chiamare *#9900#. Stavo usando CyanogenMod al telefono e credo che i telefoni con ROM personalizzate non utilizzino il dialer stock, quindi mancano della funzionalità SysDump.

Fondamentalmente, Delete dumpstate/logcatin SysDump cancella i file di registro /data/log. Ma puoi anche farlo manualmente senza SysDump. (Ciò presuppone che il tuo telefono sia stato rootato, cosa che succederà se sul tuo telefono è in esecuzione CyanogenMod o qualsiasi altra ROM non disponibile.)

  1. Assicurarsi che siano installate le app Superuser e Terminal Emulator. (Vengono forniti con la maggior parte delle ROM personalizzate.)
  2. Esegui l'emulatore di terminale
  3. Digita su, premi invio.
  4. Questo farà apparire un prompt Superuser. Concedere l'accesso. (Dovrai attendere tre secondi prima di poter fare clic su "Consenti".)
  5. Cambia la directory corrente digitando cd /data/log, seguito da return.
  6. ASSICURATI di essere nella data/logdirectory digitando pwd, seguito da return. Dovrebbe stampare la directory di lavoro ti trovi in: /data/log. È molto importante assicurarsi di essere nella directory giusta poiché il passaggio successivo rimuove tutti i file in qualsiasi directory di lavoro in cui ci si trova attualmente.
  7. Rimuovere tutti i file nella directory digitando rm *, seguito da return.
  8. Chiudi la finestra del terminale o l'app o digita exitper uscire dalla susessione.

Ho eliminato circa 1.500 file da 1 MB in questo modo e risolto il problema "Memoria disponibile insufficiente".

Come con gli altri poster, possiedo un Galaxy S II , quindi sembra essere un problema con quel modello.

Se qualcuno è a conoscenza della soluzione permanente per impedire la creazione dei file di registro, per favore fatemelo sapere.

NOTA: alcuni gestori di file indicano erroneamente /data/logche sono vuoti poiché sono in esecuzione senza privilegi e quindi privi delle autorizzazioni per visualizzare i file all'interno.


Grazie, questo è stato il primo post sul forum che mi ha spiegato cosa fare quando la cosa * # 9900 # non ha funzionato! Sospettavo fosse CyanogenMod dietro il problema MMI non valido, ma non sapevo dove andare da lì. Avevo anche usato ES File Explorer ma non mi mostrava la directory / data / log - presumibilmente avevo dimenticato di vederlo per visualizzare i file nascosti.
ChrisC,

2
@Chris Chapman: Mentre stai usando CyanogenMod, puoi usare il file explorer di CyanogenMod chiamato File Manager (cartella blu con freccia / cerchio bianchi). Vai su Impostazioni -> Impostazioni generali -> Modalità di accesso nell'app e modificala in modalità Richiedi utente o Modalità accesso root (la modalità Richiedi utente è più sicura). Dovresti quindi essere in grado di vedere i file nella directory / data / log. Inoltre sarai in grado di eliminare tutti i file in blocco. Questo metodo è più semplice, ma l'eliminazione dei file è più lenta.
rhlee

+1! Vedo sempre questo tipo di numeri *#9900#, *#7832ma non ha funzionato per me a causa della ROM Cyanogen.
S.Thiongane

13
Questo vale per CyanogenMod 10.2? Perché non ho una cartella "/ data / log". "Nessun file o directory con questo nome".
jS90,

7
Ho /data/e /data/data/e /sdcard/data/nessuno di questi ha una logsottocartella
endolith,

18

La memoria potrebbe essere riservata al sistema operativo per essere utilizzata per eseguire ciò che si esegue normalmente (un po 'come un file di scambio). Potresti riuscire a spremere in un'altra o due app

  • Prova di installarli subito dopo il riavvio, oppure
  • Con la chiusura forzata di alcune app in esecuzione (ma quella seconda opzione potrebbe non essere una buona idea, vedi il primo link),

Ma l'unica soluzione molto buona potrebbe essere

  • Ripartizionare la scheda SD in modo che le app possano essere installate direttamente su di essa (vedere il secondo collegamento).

Dai un'occhiata al post del forum Era destinato a succedere: avviso di memoria insufficiente! .

La parte importante è:

Il sistema operativo sa quanta memoria è necessaria per eseguire le app che già possiedi. Questo è un esempio perfetto

Ora potresti essere in grado di "ingannare" il sistema operativo forzando la chiusura di alcune app che si trovano nella RAM. Ciò aumenterà il tuo "secchio" di memoria che potrebbe consentirti di installare un'app, ma ricorda che se fai questi tipi di cose causerai solo problemi lungo la strada .. lagg, messaggi di errore, ecc. (Perché stai ingannando il sistema operativo nel pensare che gli hai dato memoria aggiuntiva, cosa che in effetti hai fatto ... hai solo forzato la chiusura).

Un'altra buona spiegazione di ciò che sta accadendo è nel post sul forum di memoria interna bassa .

La parte importante è:

Il motivo per cui il tuo spazio interno si sta riempiendo è di 3 volte. Innanzitutto, quando un'app viene "spostata" sulla scheda SD, non viene spostata completamente. Solo parti di esso effettivamente vanno. In secondo luogo, la cache Dalvik dell'app è ancora memorizzata nella memoria interna (che occupa una notevole quantità di spazio). Tre, i dati per le app e tutte le impostazioni di sistema sono archiviati nella memoria interna (sì, alcune app usano la scheda SD per porzioni dei loro dati, ma ogni app ha dati memorizzati nella memoria interna).

E il thread include suggerimenti su quale partizionamento puoi fare sulla tua scheda SD per consentire le "app moar"!


5
Secondo androidforums.com/evo-4g-support-troubleshoking/… , "Uh, cosa? Tutto questo non è corretto. L'area ROM in cui sono installate le app non è correlata all'area RAM in cui le app vengono eseguite / memorizzate nella cache. Task Killer libera RAM, non ROM. Non sarai in grado di installare più app in quell'area semplicemente uccidendole. " (Penso che ROM sia il termine sbagliato, ma comunque)
nafg

1
"ROM", memoria di sola lettura, non è affatto in discussione qui. Ogni tipo di archiviazione di cui stiamo discutendo è modificabile, a differenza della ROM. Ciò che viene discusso è la RAM e lo spazio di archiviazione, e anche quei concetti sono offuscati dal concetto di spazio di scambio, in cui uno agisce come l'altro. Se hai altre risposte da pubblicare, ciò potrebbe essere costruttivo, ma gli argomenti che puntano alla ROM sembrano molto meno.
AM

7
Risposta di cazzate completa. 1) Non parliamo di RAM qui, ma tu lo fai. Perché? 2) Android non utilizza lo scambio (per impostazione predefinita). 3) Il sistema operativo non riserva la RAM per le app installate. 4) La memoria interna non è piena come indicato dall'op !! 4) @Sniper Ti prego, non accettare questa risposta oltraggiosa!
Robert Siemer,

3
Questa risposta non sembra essere pertinente. Di seguito sono disponibili altre risposte utili.
Sig. Ed,

1
@AM Sei completamente spento, qui. La ROM è la memoria interna del telefono (come un hard disk in un computer). La RAM è lo "scratchpad" che la CPU utilizza mentre è in funzione e dove vengono caricate le applicazioni mentre sono in esecuzione. Con tutta la memoria a stato solido, il termine ROM è stato davvero "confuso". Si tratta in realtà di due diversi tipi di "memoria" 1) la memoria volatile (RAM) è veloce e richiede energia per "archiviare" le cose, il che significa che non appena il dispositivo viene spento, questa memoria viene cancellata. 2) la memoria non volatile (ROM) è il luogo in cui i dati vengono archiviati anche in assenza di alimentazione.
Mike U,

12

Il gestore pacchetti ("installer") ha un problema di progettazione: non è in grado di distinguere tra un mucchio di possibili errori e presenta regolarmente la scusa "memoria insufficiente".

I primi passi sono fatti: identificare è un problema di installazione (1.) e non correlato alla mancanza di memoria (2.)

  1. Succede sulla console ( pm install file.apk), con Google Play, altri mercati e l'installazione manuale della GUI (ad esempio, "facendo clic" su un file APK scaricato ); non è un problema di download, ...
  2. I pacchetti finiscono interamente sulla /datapartizione - o per lo più sulla scheda SD (e un po 'su /data). - Entrambi i posti mostrano spazio sufficiente, come indicato dal poster originale (rispettivamente 33 MB e> 900 MB) per il pacchetto <20 MB. –E– la /datapartizione ha più del 10% di spazio libero (33 MB è più del 10% di 200 MB).

Sorprendentemente la maggior parte delle risposte non ne tiene conto ...

In realtà, la /datapartizione necessita di una pulizia dai residui delle installazioni precedenti.

  • Identificare il nome comune del pacchetto problematico (ad esempio com.abc.def)
  • Disinstallare il pacchetto (ad esempio, pm uninstall com.abc.def)
  • Controlla cosa ne rimane nei dati (ad esempio, find /data -name 'com.abc.def*')
  • Elimina quella roba

Il programma di installazione soffoca su quelli, tornando con il motivo sbagliato. - La parte interessante è: se il pacchetto viene installato sulla scheda SD (forzata o in altro modo) alcuni (tutti?) Gli avanzi su /datanon fanno male ... il che porta alla falsa convinzione che si tratti effettivamente di un problema di spazio ( più spazio sulla scheda SD ...)!

La domanda di Stack Overflow da cui ho ottenuto metà di questo è la soluzione all'errore INSTALL_FAILED_INSUFFICIENT_STORAGE su Android .


6

La prima cosa da fare è controllare i dettagli del messaggio di errore. Per questo è possibile utilizzare l' app LogCat .

Per me il problema è stato un errore simile

Cannot rename native library directory /data/app-lib/vmdl-... to /data/app-lib/com.xyz

La soluzione era attivare la funzione di buonsenso nel mio cervello e cercare la cartella com.xyz nella cartella app-lib con ES-Explorer. Ho riconosciuto che questa cartella era già lì. Quindi rimuoverlo ha risolto il problema di ridenominazione e le app ora possono essere installate correttamente.


3
Kinda triste quante soluzioni si basano sul download e l'installazione di un'altra app
Mooing Duck,

6

Lo stesso problema stava arrivando per il mio telefono e questo ha risolto il problema:

  • Vai a Application Manager/ Appsda Impostazioni.

  • Selezionare Google Play Services.

Inserisci qui la descrizione dell'immagine

  • Fare clic sul Uninstall Updatespulsante a destra del Force Stoppulsante.

  • Una volta disinstallati gli aggiornamenti, dovresti vedere il Disablepulsante che significa che hai finito.

Inserisci qui la descrizione dell'immagine

Vedrai un sacco di spazio libero disponibile ora.


1
e dovresti fare lo stesso per ogni app, in particolare quelle di Google. Non dimenticare di disabilitare prima gli aggiornamenti automatici delle app.
Vai al

2

Ho anche avuto questo problema durante l'installazione di un'app dopo averlo disinstallato. Ho risolto il download di Lucky Patcher e quindi fare clic sul menu - risoluzione dei problemi - rimuovere correzioni e backup (memoria insufficiente disponibile). Si noti che è necessario il root del dispositivo.


My Lucky Patcher (versione 3.6.7) non ha "rimuovere correzioni e backup" nel menu.
Robert Siemer,

Non riesco a installare Lucky Patcher a causa dello stesso errore. Non ha nemmeno installato usando ADB ...
Metafaniel il

2

Ho un Nexus 4 non rootato (che ha solo memoria interna, nessuna scheda SD) e ho riscontrato questo errore con l'aggiornamento di app più grandi. Le app più piccole si aggiornerebbero bene.

Ho scoperto che è stato perché mi sono recentemente registrato al servizio Play Music All Access e ho bloccato diversi album.

Questi vengono scaricati nella /datapartizione nascosta ed è stato questo a corto di spazio (suppongo)

Ho sbloccato un paio di album e ora non ho problemi a installare app.


2

1. Riavvia il telefono e reinstalla l'applicazione !

Stavo anche riscontrando lo stesso problema Insufficient Storage Availablesul mio dispositivo, ma ho riavviato il mio dispositivo e ha funzionato bene!

PS .:

2. Installare l'applicazione su memoria esterna

Per questo, impostare Storage Locationcon il seguente comando

adb shell pm set-Install-Location 2 // 2 for external storage ([SD card][1])

adb shell pm set-Install-Location 1 // 2 for internal storage 

adb shell pm set-Install-Location 0 // for auto

2
Grazie Tarsem! Ho provato a riavviare più di 20 volte, ma senza fortuna .. :(
Sniper,

1
L'installazione su sdcard evita il problema, ma non lo risolve (vedere la mia risposta) –e– è possibile installare un pacchetto problematico su sdcard più semplice come questo:pm install -s package.apk
Robert Siemer

2

Ho avuto questo problema anche con molta memoria interna e memoria SD. Questa soluzione è solo per le app che non si aggiornano o sono state precedentemente installate sul telefono e non verranno installate.

Sembra che in alcuni casi siano rimaste directory di una precedente installazione e la nuova app non può rimuoverle o sovrascriverle.

La prima cosa da fare è provare a disinstallare prima l'app e riprovare. Nel mio caso questo ha funzionato per un paio di app.

Per il passaggio successivo è necessario l'accesso root sul telefono:

Con un file manager vai su / data / app-lib e trova la directory (o le directory) associate all'app. Ad esempio per kindle è com.amazon.kindle. Elimina questi. Vai anche a / data / data e fai lo stesso.

Quindi vai su Play Store e reinstalla l'app. Questo ha funzionato per tutte le app nel mio caso.


1

Ho avuto lo stesso problema ed è stato risolto utilizzando App Cache Cleaner .

(HT: acejavelin @ Forum Android )


1
In realtà, non è così sciocco. Ho questo problema nel mio Galaxy S2 e aveva memoria sufficiente per installare l'app e rilasciato circa 87 MB. Ma non ha risolto il problema generale.
Sig. Ed

Hmmmm. Forse ha risolto il mio problema. Ho provato i suggerimenti nelle risposte a questa domanda (installa su sdcard, componi * # 9900 # "Elimina dumpstate / logcat", esegui Cache Cleaner) e inizialmente non ha ancora funzionato, ovvero ha riscontrato errori durante l'aggiornamento delle app esistenti (errore 902 per la precisione). Ma dopo il riavvio del telefono, è riuscito ad aggiornarsi correttamente! E ora sembra essere ok.
Sig. Ed.

1

Ho provato diverse soluzioni suggerite, ma nessuna ha funzionato per me. Dopo qualche ricerca mi sono imbattuto su un suggerimento di spostare alcune applicazioni da /data/appa /system/app. Ciò ha liberato spazio sufficiente per installare nuove app e aggiornare quelle esistenti.

Posso consigliare l'utilità gratuita SystemCleanup per spostare le app.


Aveva lo stesso problema e SystemCleanup mi ha aiutato. Io raccomando!
Eran Egozi,

1

Questa è la cosa più semplice da fare. Vai a settings cercare storageo memorytoccalo e cerca cached data. toccalo e cancella i tuoi dati da lì. SEMPLICE!!!


0

L'app deve necessariamente essere installata nella memoria interna? Se non si esegue alcun servizio, è possibile provare a installarlo sulla memoria esterna. Questo può essere fatto aggiungendo il seguente codice nel tuo manifest:

 manifest  
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:installLocation="preferExternal".....

Questo di solito funziona su Android 2.2 e versioni successive nella maggior parte dei casi. Assicurati che l'app funzionerà correttamente se è installata nella memoria esterna. Avrai una buona idea su quale tipo di app può essere installata su un archivio esterno in Posizione installazione app .


0

Quando si tratta di un dispositivo areale, il comportamento dei dispositivi sembra diverso da un diverso gruppo di dispositivi.

Alcune delle strane raccolte dell'opinione che ho sentito da persone diverse sono:

  • Riavvia il dispositivo dopo averlo scollegato
  • Rimuovi alcune app dal dispositivo e libera almeno 100 MB
  • Prova a installare l'app dalla riga di comando, ./adb install ~Application_path
  • Sposta l'applicazione nella memoria della scheda SD o rendila predefinita nella scheda SD nel file manifest di Android, android:installLocation="preferExternal"
  • Hai molta memoria per acquisire roba nella cartella Raw che installa una copia nella memoria del telefono durante l'installazione di un file APK e il dispositivo non ha memoria sufficiente per caricarli
  • Esegui il root del tuo dispositivo e installa qualche buona ROM che aiuti a far sapere al dispositivo la sua memoria rimanente.

Spero che uno di loro sia rilevante per te! ;)


0

La maggior parte dello spazio disponibile è riservata al sistema operativo. La soluzione migliore e facile è spostare le tue app in un archivio esterno. Ciò libererà molto spazio per te.


0

Alcune app devono essere riavviate per l'installazione completa. Android dice solo che ha una memoria insufficiente per qualche motivo: dovrebbe dire che è necessario riavviare per completare l'installazione. Provalo: si installerà completamente automaticamente al riavvio.


0

Ho risolto questo problema da solo. Tuttavia, la memoria interna e quella SD mostravano molto spazio libero. Si è verificato un problema con la memoria del telefono, che era quasi piena.

Quindi, ho spostato molte delle mie app dalla memoria del telefono a iemory interno, per liberare la memoria del telefono: Impostazioni -> Memoria -> App (nella sezione memoria interna) -> Scheda interna

Ecco quelli che non sono controllati e che occupano lo spazio nella memoria del telefono.

Fare clic sulle app (una alla volta). Fare clic sul pulsante: "Sposta in memoria interna".

Dopo aver liberato una notevole quantità di spazio nella memoria del telefono in questo modo, l'errore non dovrebbe verificarsi.


0

Dopo aver disinstallato alcune app sono in grado di installare quella nuova ...

Penso che il sistema operativo calcoli la memoria totale richiesta per eseguire tutte le app. Se non si adatta, dice "in memoria sufficiente".


0

Ho avuto lo stesso problema su Galaxy S4 (i9505) su ROM stock (4.2.2 ME2). Avevo spazio libero così: 473 MB su /data, 344 MB su /system, 2 GB su /cache. Stavo ricevendo l'errore di offerta gratuita su qualsiasi download dal Play Store (piccola app, 2,5 MB), ho controllato LogCat , ha detto "Annulla download di ABC perché spazio libero insufficiente".

Poi ho liberato un po 'di spazio /data, 600 MB gratuiti, e ora funziona bene, download e installazione di app;). Quindi sembra che questa ROM abbia bisogno di un po 'più di spazio libero per funzionare OK ...


0

Anche cancellare la memoria cache di Google Play ti aiuterà ... Vai alla pagina delle informazioni sull'app di Google Play e cancellala.


0

Non ho trovato una soluzione gratuita che funzionasse, ma ho trovato una soluzione: ho usato la versione non gratuita del backup di Titanium, ho fatto clic sul pulsante di scelta rapida e ho scelto di controllare la memoria occupata dalle app. Trova l'app di download e vedrai che ha una certa quantità di spazio allocata nella sua cache. Cancella dati è l'opzione che desideri.


0

Ho ricevuto lo stesso messaggio di errore nel caso in cui il nome del pacchetto fosse troppo lungo (> 128 caratteri). Basta usare un nome più corto per risolvere il problema.


0

Avevo più di 2 GB di spazio interno e tuttavia non ero in grado di installare / aggiornare le applicazioni da Google Play o manualmente.

Qualunque sia la ragione, cancellare la partizione della cache ha risolto il mio scopo.

Passaggi: Ripristino -> Cancella partizione cache -> Riavvia il sistema ora


0

Se hai root, elimina tutte le cartelle sul percorso:

/data/app-lib/

E quindi riavvia il dispositivo.

Ho avuto questo problema molte volte e questa correzione ha funzionato per me ogni volta. Ha anche un thread XDA .

Scrivo tutte le cartelle, perché se c'è un problema con un'app, ci sono buone probabilità che tu abbia questo problema anche con altre app. Inoltre, è fastidioso trovare solo le cartelle delle app problematiche.


0

Vai su Impostazioni, App, Tutti e disinstalla Google Play Store. Questo sostituirà con la versione precedente e quindi è possibile scaricare senza "ERRORE archiviazione insufficiente" Funziona per me


-1

Ho continuato ad avere questo problema e ho ripulito la cache di Dalvik usando Titanium Backup. Dovrai eseguire il root del tuo telefono. Non appena l'ho fatto sono stato in grado di aggiornare Swiftkey e Beautiful Widgets.

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.