Ошибка OutOfMemory, используйте lwuit

У меня есть кнопка в моей форме. Когда я нажимаю на каждую кнопку, запускаю новую форму с такими же кнопками. Когда я нажимаю много раз, отображается ошибка OutOfMemory.
Я думаю, это потому, что я создаю много объектов формы.
Может быть, можно очистить стек или использовать форму из стека, если форма есть?

2 ответа

Решение

Вам нужно использовать шаблон Singleton для вашего кода. В Singleton Pattern, он будет создавать только один объект вашего класса формы. Если объект равен нулю, он создаст новый, вернет текущий. Для этого, пожалуйста, обратитесь к следующему коду.

// Private Constructor

private static myForm thisForm = null;

private myForm()
{
     thisForm = this;
}

// Now to Create Object, you need to create following getInstance Method

public static myForm getInstance()
{
         if ( thisForm == null ) 
         {
                thisForm = new myForm();
         }
         return thisForm;
}

попробуйте выше логику во всем вашем коде. Ваша проблема OutOfMemory будет решена на 100%.

Вы сохраняете указатели (ссылки) на старые компоненты, что приводит к утечке памяти. Никогда не храните компоненты как члены вашего класса, если вы не очистите их позже.

Другие вопросы по тегам