Проблема памяти GWT - PullRequest
       0

Проблема памяти GWT

0 голосов
/ 12 января 2012

Я работаю над проектом на очень простом веб-сайте с 5 страницами. Каждая страница является виджетом GWT (пользовательский интерфейс). В настоящее время я создаю объекты всех 5 виджетов, когда загружаю базовый докладчик, где я обрабатываю все события изменения токенов истории. Проблема в том, что сайт очень медленно загружается в режиме разработки. При размещении в AppEngine его скорость намного выше. Как я могу преодолеть эту проблему.

Ранее я использовал для создания объектов по запросу. то есть, если пользователь щелкает ссылку, я создаю объект этого виджета и отображаю его. Но если он вернется на предыдущую страницу и снова щелкнет по той же ссылке, он создаст новый объект, а память старых объектов не будет очищена (поскольку после компиляции это не Java) Вот почему я создал все объекты в начале.

Я не знаю, где я ошибся. Может кто-нибудь, пожалуйста, предложите мне подходящую технику для преодоления этой проблемы.

Ответы [ 2 ]

3 голосов
/ 12 января 2012

Вы задаете два независимых вопроса:

  1. Режим разработки идет медленно:
    Хорошо Режим разработки всегда будет медленнее, чем Режим производства из-за требуемых затрат на маршалинг и демаршалирование Java-объектов в Javascript и наоборот в режиме разработки.
    Однако различные браузеры работают по-разному.Из-за того, как работает система плагинов в Chrome Режим разработки в Chrome намного медленнее, чем в Firefox или Safari (см. здесь для получения более подробной информации).Поэтому я бы рекомендовал использовать Firefox для отладки до тех пор, пока эта проблема не будет устранена.

  2. Очистка памяти от неиспользуемых объектов:
    Это не имеет ничего общего с Java против Javascript.
    JavascriptУ движков есть сборщики мусора, и память для «неиспользуемых» объектов будет освобождена, как только объект будет удален.Однако вы должны убедиться, что у вас больше нет ссылок на неиспользуемые объекты.
    Вы подтвердили, что у вас есть утечка памяти?

1 голос
/ 12 января 2012

Утечки JS довольно хорошо обрабатываются GWT. Прочитай это. http://code.google.com/intl/ca/webtoolkit/articles/dom_events_memory_leaks_and_you.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...