Estoy escribiendo un MIDlet usando LWUIT y parece que las imágenes consumen cantidades increíbles de memoria. Todas las imágenes que uso son PNG y están empaquetadas dentro del archivo JAR. Los cargo usando el método estándar Image.createImage (URL). La aplicación tiene varios formularios y cada uno tiene un par de etiquetas y botones, sin embargo, estoy bastante seguro de que solo la forma activa se mantiene en la memoria (sé que no es muy confiable, pero Runtime.freeMemory() parece confirmar esta).Las imágenes JavaME - LWUIT consumen toda la memoria
La aplicación ha funcionado bien en una resolución de 240x320, pero al moverla a 480x640 y al usar imágenes de mayor tamaño para la IU comenzó a aparecer errores de memoria insuficiente. Lo que hace la aplicación, entre otras cosas, es descargar imágenes remotas. La aplicación parece funcionar bien hasta que llega a este punto. Después de descargar un par de PNG y regresar al menú principal, se encuentra el error de falta de memoria. Naturalmente, investigué la cantidad de memoria que usa el menú principal y fue bastante impactante. Solo son dos etiquetas con imágenes y cuatro botones. Cada botón tiene tres imágenes utilizadas para style.setIcon, setPressedIcon y setRolloverIcon. Las imágenes varían en tamaño de 15 a 25 KB, pero la eliminación de dos de las tres imágenes utilizadas para cada botón (8 imágenes en total), Runtime.freeMemory() mostró una impresionante disminución de 1 MB en el uso de la memoria.
La forma en que lo veo, o tengo un montón de fugas de memoria (que no creo que haga, pero las fugas de memoria no se sabe exactamente que se rastrean fácilmente), estoy haciendo algo terriblemente mal con manejo de imágenes o realmente no hay ningún problema involucrado y solo necesito reducir la escala.
Si alguien tiene alguna idea que ofrecer, le agradecería muchísimo.
una solución sino un tipp:.. optimizar su png con OptiPNG (http://optipng.sourceforge.net/) - cortes imágenes con una pequeña cantidad de colores a menudo hasta el 50% de su tamaño sin reducción de la calidad. – user181750