2015-03-30 40 views
12


Fino a ieri la mia applicazione ha funzionato correttamente, ma quello che ho fatto è, a causa di alcuni motivi, ho dovuto aprire la stessa applicazione con un lavoro diverso spazio in Android Studio. Da allora, quando provo a eseguire l'app, ricevo un'eccezione, quindi ho rimosso i ritmi di lavoro appena creati, ma sono comunque bloccato dalla seguente eccezione. Per favore aiutami visto che sono nuovo ad AndroidRicevo "OutOfMemoryError generato durante il tentativo di eliminare OutOfMemoryError, nessun stack disponibile" su Android

Throwing OutOfMemoryError "Failed to allocate a 170 byte allocation with 74 free bytes and 74B until OOM" (recursive case) 
"main" prio=5 tid=1 Runnable 
| group="main" sCount=0 dsCount=0 obj=0x74430970 self=0xb4606800 
| sysTid=1905 nice=0 cgrp=apps sched=0/0 handle=0xb777c160 
| state=R schedstat=(0 0 0) utm=83 stm=36 core=0 HZ=100 
| stack=0xbf15b000-0xbf15d000 stackSize=8MB 
| held mutexes= "mutator lock"(shared held) 
at java.lang.String.<init>(String.java:233) 
at java.lang.String.<init>(String.java:191) 
at java.io.ByteArrayOutputStream.toString(ByteArrayOutputStream.java:175) 
at java.util.jar.ManifestReader.readValue(ManifestReader.java:181) 
at java.util.jar.ManifestReader.readHeader(ManifestReader.java:107) 
at java.util.jar.ManifestReader.readEntries(ManifestReader.java:59) 
at java.util.jar.JarVerifier.verifyCertificate(JarVerifier.java:311) 
at java.util.jar.JarVerifier.readCertificates(JarVerifier.java:268) 
at java.util.jar.JarFile.getInputStream(JarFile.java:380) 
at libcore.net.url.JarURLConnectionImpl.getInputStream(JarURLConnectionImpl.java:222) 
at java.net.URL.openStream(URL.java:470) 
at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:444) 
at java.lang.Class.getResourceAsStream(Class.java:1334) 
at com.google.m.a.a.a.a(unavailable:-1) 
at com.google.m.a.a.a.a(unavailable:-1) 
at com.google.maps.api.android.lib6.b.e.<init>(unavailable:-1) 
at com.google.maps.api.android.lib6.b.e.<init>(unavailable:-1) 
at com.google.maps.api.android.lib6.b.e.a(unavailable:-1) 
at com.google.maps.api.android.lib6.c.dz.a(unavailable:-1) 

[ 03-30 11:13:03.162 1905: 1914 I/art  ] 
Clamp target GC heap from 64MB to 64MB 

--------- beginning of crash 
03-30 11:13:03.179 1905-1905/com.example.myothermap E/AndroidRuntime﹕ FATAL EXCEPTION: main 
Process: com.example.myothermap, PID: 1905 
java.lang.OutOfMemoryError: OutOfMemoryError thrown while trying to throw OutOfMemoryError; no stack available 

Come posso recuperare da questo?

+0

controllare questo link http://stackoverflow.com/questions/21012006/android-outofmemoryerror – Keshav1234

+0

@ Kesh1234 il link che ci hai fornito è buono ma non specifico per il mio problema –

+0

Hai provato quelle soluzioni? hai provato a cancellare il tuo vecchio AVD e crearne uno nuovo e provarlo? – Keshav1234

risposta

-2

Aggiungi questa riga nel file Manifest del tuo progetto all'interno del tag Applicazione.

android:largeHeap="true" 

come questo

<application 
    android:largeHeap="true" 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar" > 
+1

L'uso di largeHeap non è raccomandato in tutti i casi, si prega di usarlo con molta cautela, potrebbe rallentare altre applicazioni in esecuzione e influire anche sulla reattività dell'app, dal momento che il garbage collector deve essere sollecitato più spesso. Per maggiori informazioni controlla questo discorso da google i/o https://www.youtube.com/watch?v=_CruQY55HOk – Mood

+4

@Mood ha sottolineato correttamente. Questa risposta farà più danni che soluzioni. – divyenduz

Problemi correlati