JavaME - образы LWUIT пожирают всю память

Я пишу мидлет, используя LWUIT, и изображения, кажется, поглощают невероятное количество памяти. Все изображения, которые я использую, являются PNG и упакованы в файл JAR. Я загружаю их, используя стандартный метод Image.createImage (URL). Приложение имеет несколько форм, и каждая имеет несколько ярлыков и кнопок, однако я вполне уверен, что в памяти хранится только активная форма (я знаю, что это не так.t очень заслуживающий доверия, но Runtime.freeMemory (), кажется, подтверждает это).

Приложение хорошо работало в разрешении 240x320, но перемещение его на 480x640 и использование соответственно больших изображений для пользовательского интерфейса стало причиной появления ошибок нехватки памяти. Помимо всего прочего, приложение загружает удаленные образы. Приложение, кажется, работает нормально, пока не дойдет до этой точки. После загрузки пары PNG и возврата в главное меню возникает ошибка нехватки памяти. Естественно, я посмотрел на объем памяти, который использует главное меню, и это было довольно шокирующе. Это'Всего две надписи с изображениями и четыре кнопки. Каждая кнопка имеет три изображения, используемые для style.setIcon, setPressedIcon и setRolloverIcon. Размеры изображений варьируются от 15 до 25 КБ, но при удалении двух из трех изображений, используемых для каждой кнопки (всего 8 изображений), Runtime.freeMemory () показала ошеломительное уменьшение использования памяти на 1 МБ.

Как я вижу, у меня либо много утечек памяти (которые я нене думаю, что я делаю, но утечки памяти неТочно известно, что его легко отследить), я делаю что-то ужасно неправильно с обработкой изображений илиЭто действительно не проблема, и мне просто нужно уменьшить масштаб.

Если у кого-то есть что-то, что я могу предложить, я был бы очень признателен.

Ответы на вопрос(5)

Ваш ответ на вопрос