Estoy trabajando en una aplicación para transmitir música desde Internet ... Mi aplicación hace muchas cosas y está estructurada de esta manera: tengo una vista de pestaña y cada vista está asignada en la memoria así que cada vez Navego por las pestañas, vuelvo a encontrar el estado anterior (cada pestaña también puede abrir una vista web para buscar información sobre canciones, noticias, etc. en internet). Todo eso hace que la ocupación de la memoria sea más fácil de usar ... Después de haber prestado atención para evitar fugas de memoria siguiendo la guía de Android, traté de ver la ocupación del montón y encontré que mi aplicación asigna un máximo de 3.5 MB de memoria y el tamaño del montón asignado es 4.5 - 4.6 MB ... Estoy trabajando en el emulador. . No son tanto, creo, pero a veces mi aplicación se reinicia fundando en LogCat un mensaje extraño comoAndroid grow heap frag case
Grow heap (frag case) to 3.373 for 19764-byte allocation
¿Qué es? un problema con el emulador? ¿o algo mas? ¿Estoy usando demasiada memoria?
Gracias de antemano por cualquier ayuda :)
oh gracias por la respuesta ^^ ¿por qué no es algo malo? mi aplicación se cierra cuando esto sucede ... Creo que esto es malo ... ¿es mi culpa? Recibo otro mensaje: heapworker está bloqueado: 13129ms gastados dentro de Landroid/media/MediaPlayer; .finalize() V ... ¿Sabes qué es esto? – Erenwoid
Sí, si su aplicación está saliendo, entonces eso es malo. Quise usar solo ~ 4MB de heap para múltiples páginas web, no está mal. No sé demasiado sobre el problema 'HeapWorker'. Por lo general, realiza un seguimiento de la memoria asignada y ejecuta el recolector de basura en objetos no utilizados. Supongo que uno de tus subprocesos está usando toda la CPU, y el 'MediaPlayer' no tiene tiempo para ejecutar' finalize() ', que es una función que definitivamente no debería tomar 13 segundos. –