将服务器';如果我们创建一个对话框,然后隐藏它,然后创建&;多次隐藏它(GWT)?

将服务器';如果我们创建一个对话框,然后隐藏它,然后创建&;多次隐藏它(GWT)?,gwt,Gwt,正如您所知,DialogBox中没有Close方法。请看以下代码: myButton.addClickHandler(new ClickHandler() {DialogBox myD=new DialogBox(); } ); 对话框myD中有一个隐藏按钮,因此当用户单击隐藏时,系统将调用myD.hide() 看看这个动作: User clicks myButton, then myD popup, then the user clicks Hide button to hide myD 用

正如您所知,DialogBox中没有Close方法。请看以下代码:

myButton.addClickHandler(new ClickHandler() {DialogBox myD=new DialogBox(); } );
对话框myD中有一个隐藏按钮,因此当用户单击隐藏时,系统将调用
myD.hide()

看看这个动作:

User clicks myButton, then myD popup, then the user clicks Hide button to hide myD 用户单击myButton,然后单击myD弹出窗口,然后用户单击Hide按钮以隐藏myD 如果用户多次执行上述操作,服务器的内存是否会浪费


它会在服务器内存中产生大量垃圾吗?如果会,那么如何正确编写DialogBox?

GWT项目的GUI正在每个客户端上运行。GWT将Java(客户端)代码转换为HTML、JavaScript和CSS。这些都是基于客户端的技术。因此,如果不调用服务器上的任何逻辑,服务器内存的使用不受GUI的影响。

您使用的是浏览器内存,而不是服务器内存

尝试声明对话框myD;并重用同一实例。javadoc的hide()方法表示:

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.

但是小部件的创建需要花费时间和资源。如果弹出窗口没有被大量使用,您可以保留它(总是相同的等式:要么开发更多,程序更好,要么开发更少,程序消耗更多资源)

答案是否定的,它不会。如果用户在客户端计算机上创建对话框,服务器的内存使用应如何更改。创建对话框是客户端操作,它使用客户端计算机的内存。一旦创建对话框,如果不需要,对话框将被隐藏,而不是出于性能原因而关闭。对话框只会在调用服务器时使用服务器内存。它会浪费客户端PC上的内存吗?是的,但这应该不是问题。