如您所知,DialogBox中没有Close方法。看看这段代码:
myButton.addClickHandler(new ClickHandler() {DialogBox myD=new DialogBox(); } );
DialogBox myD中有一个隐藏按钮,所以当用户点击隐藏时,系统会调用myD.hide();
看看这个动作:
User clicks myButton, then myD popup, then the user clicks Hide button to hide myD
如果用户多次执行上述操作,服务器的内存是否会浪费?
它会在服务器的内存中产生大量垃圾吗?如果它会,那么如何正确编码DialogBox?
答案 0 :(得分:2)
您的GWT项目的GUI正在每个客户端上运行。 GWT将您的Java(客户端)代码转换为HTML,JavaScript和CSS。这些都是基于客户端的技术。因此,如果您不在服务器上调用任何逻辑,则服务器内存使用量不受GUI的影响。
答案 1 :(得分:0)
您正在使用浏览器内存,而不是服务器内存。
尝试声明DialogBox myD;在你的班级并重用相同的实例。 hide()方法javadoc说:
public void hide()
Description copied from class: PopupPanel
Hides the popup and detaches it from the page. This has no effect if it is not currently showing.
但是小部件创建耗费时间和资源。如果弹出窗口没有被大量使用,你可以保留它(总是使用相同的公式:更多的开发和更好的程序,或更少的开发和更多的资源消耗程序)