2012-08-28 13 views
5

Samsung Galaxy S3 utilizza 32 MB di heapsize quasi istantaneamente sulla mia app, dove su quasi tutti gli altri dispositivi Android inizia a + - 5mb (visto questo in logcat, può inviare screenshot da due dispositivi diversi se necessario). Pensa che questo è il motivo per cui la mia app si blocca con "OutOfMemory" Eccezione solo su Galaxy S3, funziona perfettamente sulla galassia Y Duos e Pocket."OutOfMemory" Eccezione solo su Samsung Galaxy S3

Qualsiasi aiuto/consiglio sul perché questo sta accadendo sarebbe molto apprezzato grazie.

+1

su quale eccezione viene generata OOM? stai usando Bitmaps, Buggy API, cancella quello per aiutarti. –

+1

Viene generato durante la decodifica di fabbrica bitmap. Comunque sto cercando di capire perché succede solo sul Galaxy S3 Funziona perfettamente su qualsiasi altro telefono Android che possiedo, La mia domanda reale è "C'è un bug con la galassia che usa molto più heap di altri telefoni Android? – SpetsnaZ

+0

I telefoni che stai testando eseguono la stessa versione del sistema operativo Android? – harism

risposta

1

Come detto da Mario, il problema è che la risoluzione s3 è superiore a quella degli altri modelli, quindi le immagini sono più grandi nelle dimensioni e, quindi, anche nel consumo di memoria.

Anche se vale la pena di dire che l'S3 sembra avere un po 'di dimensioni massime dell'heap, vista la sua risoluzione, dal momento che ho anche avuto problemi di memoria con esso ma non con altri dispositivi con la stessa risoluzione che ha un limite di heap superiore .

0

OOM nella maggior parte dei casi non è con le bitmap di carico o come questo, ma per lo più la sua base su GPU Leggere questo link e questo too solo look at this solution for various situation caused by OOM

Qui nel mio caso ho sostituire drawable immagine che sta cercando di caricamento da puoi usare drawable-nodpi

Nella mia app, aveva drawable-hdpi hanno tutte le immagini per l'app. Sulla maggior parte dei dispositivi, nessun problema. Sull'S3, l'app dovrebbe occupare il doppio della memoria e quindi esaurire il problema di memoria.

Ho appena creato la cartella Drawable-xhdpi con lo stesso contenuto della cartella drawable-hdpi ed eseguirla su S3. Immediatamente notato che l'impronta di memoria era 1/2 e nessun problema di memoria insufficiente.