2016-08-05 41 views
1

我试图释放形式存储只是为了让这种形式的空当从一个到其他导航。如何释放CODENAMEONE形式,包括它的所有组件,同时浏览一个网页到其他?

但null不是的内存解决方案。记忆从一个导航到另一个时增加。

对于例如:我有一个沉重的形式和我浏览到光的形式,然后通过内存重形式占据应该出光形式之前发布之后,它应该占据的只是光的形式存储。

这就是我已被使用的样本代码。

public class Form1 extends Form { 
    Form main; 
    public static void includeForm1(final Form form) { 
     Form1 form1 = new Form1(); 
     form1.showForm1(form); 

    } 

    public void showForm1(Form form){ 
     form = null; 
     this.main = new Form(); 
     ... 
     addComponent(BorderLayout.CENTER, mainContainer); 
     .... 
     //Navigate to Form2 
     Form2.includeForm2(main); 
     ... 
     this.show(); 
    } 

} 

public class Form2 extends Form { 
    Form main; 
    public static void includeForm2(final Form form) { 
     Form2 form2 = new Form2(); 
     form2.showForm2(form); 
    } 

    public void showForm2(Form form){ 
     form = null; 
     this.main = new Form(); 
     ... 
     addComponent(BorderLayout.CENTER, mainContainer); 
     .... 
     //Navigate to Form1 
     Form2.includeForm1(main); 
     ... 
     this.show(); 
    } 


} 

我需要执行哪些更改以解决内存问题?

回答

0

如果内存越来越大,那是因为你保持东西的参考。即使对层次结构中的一个组件的引用也会将整个表单保存在RAM中,因此只需在全局范围中存储一个按钮即可触发该表单。

相关问题