Android – Grow Heap (Frag Case) – Asignación de bytes .. No cargar ningún mapa de bits

Esto sucede cuando la aplicación se carga desde la pantalla de inicio a la página principal. Ocurre sólo en el dispositivo que no está en el simulador:

05-17 08:10:16.627: I/dalvikvm-heap(14021): Grow heap (frag case) to 20.580MB for 2424256-byte allocation 05-17 08:10:16.666: D/dalvikvm(14021): GC_FOR_ALLOC freed 1K, 3% free 21000K/21511K, paused 21ms 05-17 08:10:16.697: D/dalvikvm(14021): GC_CONCURRENT freed 116K, 3% free 20885K/21511K, paused 2ms+2ms 05-17 08:10:16.720: D/dalvikvm(14021): GC_FOR_ALLOC freed 44K, 4% free 20841K/21511K, paused 10ms 05-17 08:10:16.728: I/dalvikvm-heap(14021): Grow heap (frag case) to 24.533MB for 4310896-byte allocation 

He utilizado Ecplise MAT – la asignación de bytes resuelto – Android.Graphics.Bitmap $ imágenes precargadas …

El dispositivo que estoy usando es Google Nexus Prime, Android 4.0

¿Alguien ha encontrado lo mismo? ¿Puede alguien lanzar alguna experiencia ….

Probablemente esté intentando decodificar un Bitmap muy grande que da como resultado una excepción OutOfMemory . Esto significa que la operación que está intentando lograr es superior al presupuesto de VM permitido para cada aplicación en su dispositivo, en términos de consumo de memoria heap (que parece ser de 24 MB en su dispositivo, probablemente más en su emulador por lo que doesn 'T suceden allí!).

Trate de probar su Bitmap de Bitmap por un factor de dos por ejemplo:

 BitmapFactory.Options o = new BitmapFactory.Options(); o.inSampleSize = 2; Bitmap b = BitmapFactory.decodeFile(pathToBitmap, o); 

He experimentado el mismo problema y he encontrado una solución a él.

¿Estás cargando tus mapas de bits del recurso? Si es así intente colocarlos en las correspondientes carpetas dibujables en lugar de mantenerlos en "drawable" o "drawable-mdpi".

Cuando tienes tus recursos de imagen en una carpeta dibujable, en el sistema significa drawable-mdpi. Por lo tanto, los dispositivos con alta o extra alta ppp (Galaxy Nexus creo que es extra alta) se expandirá ese recurso para que coincida con el dpi del dispositivo.

Si sólo tiene 1 tamaño para sus recursos, póngalos en drawable-nodpi y se usará tal cual. Sin embargo, algunos de sus diseños pueden verse afectados por esto, por lo que mantuve ciertas imágenes en la carpeta dibujable (como imágenes de botón, etc) y trasladó fondos y otros recursos más grandes en drawable-nodpi.

Espero que esto ayude 😉

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.