0

ご存じのとおり、DialogBox には Close メソッドはありません。このコードを見てください:

myButton.addClickHandler(new ClickHandler() {DialogBox myD=new DialogBox(); } );

DialogBox myD には非表示ボタンがあるため、ユーザーが [非表示] をクリックすると、システムが呼び出しますmyD.hide();

このアクションを見てください:

ユーザーが myButton をクリックしてから myD ポップアップをクリックし、次にユーザーが [非表示] ボタンをクリックして myD を非表示にします

ユーザーが上記のアクションを何度も実行すると、サーバーのメモリが浪費されますか?

サーバーのメモリに大量のガベージが作成されますか? もしそうなら、DialogBoxを正しくコーディングする方法は?

4

2 に答える 2

2

GWT プロジェクトの GUI は各クライアントで実行されています。GWT は、Java (クライアント) コードを HTML、JavaScript、および CSS に変換します。これらはすべてクライアントベースのテクニックです。したがって、サーバーでロジックを呼び出さない場合、サーバーのメモリ使用量は GUI の影響を受けません。

于 2013-10-25T09:07:37.290 に答える
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.

しかし、ウィジェットの作成には時間とリソースがかかります。ポップアップがあまり使用されない場合は、そのままにしておくことができます (常に同じ方程式: より多くの開発とより良いプログラム、またはより少ない開発とより多くのリソースを消費するプログラムのいずれか)。

于 2013-10-25T16:36:50.780 に答える