2013-10-25 1 views
0

아시다시피 DialogBox에는 Close 메서드가 없습니다.DialogBox를 만든 다음 숨기고 여러 번 숨기기 (GWT)하면 서버의 메모리가 낭비됩니까?

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를 올바르게 코딩하는 방법은 무엇입니까?

+1

대답은 아니오, 그렇지 않습니다. 사용자가 클라이언트 컴퓨터에서 대화 상자를 만드는 경우 서버의 메모리 사용이 어떻게 변경되어야합니까? 대화 상자를 만드는 것은 클라이언트 컴퓨터의 메모리를 사용하는 클라이언트 측 작업입니다. 일단 생성되면 성능상의 이유로 닫히지 않고 필요없는 경우 대화 상자가 숨겨집니다. 대화 상자는 서버에 전화를 걸면 서버 메모리 만 사용합니다. –

+0

클라이언트의 PC에 메모리가 낭비 되나요? – Tum

+0

예. 그렇다고해서 문제가되지 않습니다. –

답변

2

GWT 프로젝트의 GUI가 각 클라이언트에서 실행 중입니다. GWT는 Java (클라이언트) 코드를 HTML, JavaScript 및 CSS로 변환합니다. 이들은 모두 클라이언트 기반 기술입니다. 따라서 서버에서 로직을 호출하지 않으면 서버 메모리 사용량이 GUI의 영향을받지 않습니다.

0

서버 메모리가 아닌 브라우저 메모리를 사용하고 있습니다.

선언하십시오. DialogBox 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. 

그러나 위젯 생성에는 시간과 자원이 많이 소모됩니다. 팝업이 많이 사용되지 않는 경우 계속 유지할 수 있습니다 (항상 동일한 방정식 : 더 많은 개발 및 더 나은 프로그램 또는 덜 개발하고 더 많은 자원을 소비하는 프로그램)

관련 문제