gpt4 book ai didi

java - 如何在将一个页面导航到另一页面时发布 CODENAMEONE 表单(包括其所有组件)?

转载 作者:太空宇宙 更新时间:2023-11-04 12:21:53 25 4
gpt4 key购买 nike

我尝试释放表单内存,只是为了在从一个表单导航到另一个表单时使该表单为空。

但是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();
}


}

我需要执行什么更改来解决内存问题?

最佳答案

如果内存增加,那是因为您保留了对某些内容的引用。即使是对层次结构中一个组件的引用也会将整个表单保留在 RAM 中,因此只需存储在全局范围中的一个按钮就可以触发该表单。

关于java - 如何在将一个页面导航到另一页面时发布 CODENAMEONE 表单(包括其所有组件)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38783287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com