2016-08-05 24 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中,因此只需在全局範圍中存儲一個按鈕即可觸發該表單。

相關問題