0

我是 GWT2.1 的地方和活动的新手。

我正在使用与下面的示例相同的 ActivityMapper,并且在几次导航后获得延迟按钮点击。

我使用的 MVP 架构让 Presenter 创建侦听器并定义 View 接口,但 View 对象是单例的。

由于所有听众呈指数增长,我的延迟问题是否存在?我应该更改它以便 View 创建所有侦听器吗?还是我应该尝试取消绑定

例如,在 GWT2.1 示例中每次getActivity(Place)调用时都会创建一个新的 Activity。

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;
}
4

2 回答 2

0

此处的视图将事件处理程序添加到其小部件。它稍后会在适当的时候调用它的演示者。我不认为取消绑定事件会释放大量内存或加速浏览器的事件队列。

我相信您应该进一步调查实际的按钮点击是否缓慢,或者它是否是在事件中发生的活动的创建,或者其他什么。

于 2010-11-17T08:46:34.667 回答
0

最后,我将 MVP 架构更改为与此处的示例相同,其中 View 定义 Activity 和 ViewImpl 包含 UI 处理程序。由于活动不再包含处理程序并且 ViewImpls 是单例,所以问题就消失了。

于 2010-11-19T02:56:07.120 回答