Нажатие кнопки GWT очень быстро затягивается с помощью «Места / Действия» в GWT2.1 - PullRequest
0 голосов
/ 17 ноября 2010

Я новичок в GWT2.1 Места и развлечения.

Я использую тот же ActivityMapper, что и в примере ниже, и после нескольких переходов получаю запаздывающие нажатия кнопок.

В архитектуре MVP, которую я использую, Presenter создает прослушиватели и определяет интерфейс View, но объекты View являются одиночными.

Моя проблема с лагом из-за экспоненциального роста всех слушателей? Должен ли я изменить его так, чтобы вместо этого View создал всех слушателей? Или я должен попробовать unbinding вместо?

например. в примере GWT2.1 здесь новая активность создается каждый раз, когда вызывается getActivity(Place).

public Activity getActivity(Place place) {
    if (place instanceof HelloPlace)
        return new HelloActivity((HelloPlace) place, clientFactory);
    else if (place instanceof GoodbyePlace)
        return new GoodbyeActivity((GoodbyePlace) place, clientFactory);
    return null;
}

Ответы [ 2 ]

0 голосов
/ 19 ноября 2010

В конце я изменил архитектуру MVP на ту же, что и в примере здесь с View, определяющим Activity, и ViewImpl, содержащим обработчики пользовательского интерфейса.Поскольку действия больше не содержат обработчиков, а ViewImpls являются одиночными, проблема исчезает.

0 голосов
/ 17 ноября 2010

просмотр здесь добавляет обработчики событий к своим виджетам.Позже он называет своего предъявителя, когда уместно.Я не думаю, что отмена привязки событий освободила бы много памяти или ускорила бы очередь событий браузера.

Я полагаю, что вам следует продолжить расследование, если фактическое нажатие кнопки происходит медленно или происходит создание операций.на событие или что-то еще.

...