Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用GWT2.1中的位置/活动,GWT按钮可以非常快速地点击变慢_Gwt_Android Activity_Gwt2 - Fatal编程技术网

使用GWT2.1中的位置/活动,GWT按钮可以非常快速地点击变慢

使用GWT2.1中的位置/活动,GWT按钮可以非常快速地点击变慢,gwt,android-activity,gwt2,Gwt,Android Activity,Gwt2,我不熟悉GWT2.1的场所和活动 我使用的是与下面示例相同的ActivityMapper,只需几次导航,就可以点击按钮 我使用的MVP架构让Presenter创建监听器并定义视图接口,但是视图对象是单例的 我的滞后问题是不是因为所有的听众都在指数级增长?我是否应该更改它,以便视图创建所有侦听器?还是我应该试试 例如,在GWT2.1示例中,每次调用getActivity(Place)时都会创建一个新的活动 public Activity getActivity(Place place) {

我不熟悉GWT2.1的场所和活动

我使用的是与下面示例相同的ActivityMapper,只需几次导航,就可以点击按钮

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

我的滞后问题是不是因为所有的听众都在指数级增长?我是否应该更改它,以便视图创建所有侦听器?还是我应该试试

例如,在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;
}
将事件处理程序添加到其小部件中。当合适时,它会调用它的演示者。我不认为解除绑定事件会释放大量内存或加速浏览器的事件队列


我认为您应该进一步调查实际的按钮点击是否缓慢,或者是否是在事件发生时创建活动,或者其他任何情况

最后,我将MVP体系结构更改为与示例相同的视图定义活动和包含UI处理程序的ViewImpl。由于活动不再包含处理程序,并且ViewImpl是单例,因此问题就消失了。

我的应用程序没有这样做(我使用的MVP体系结构让演示者创建侦听器并定义视图接口,但视图对象是单例的)。我不确定是否应该重新组织我的观点,以防问题出现在其他地方。然后尝试解除演示者的绑定。我知道在浏览器中跟踪垃圾收集之类的东西非常困难,但也许你可以通过chrome的评测控制台或speedtracer来找出问题所在。