0

我是 GWT 的新手,最近我在我的代码中添加了 Activities、Places 和 ActivityMappers。每个区域都有一个 ActivityManager-ActivityMapper。像标题或菜单这样的区域没有太大变化,所以我必须在 ActivityMapper 中编写大量样板代码,以便每次加载相同的 Presenter,但使用不同的构造函数。对于每个可能的地方,我必须为 Presenter 编写另一个构造函数,以便获取 ActivityMapper 给出的实例。有什么方法可以更轻松地做到这一点?此外,我对每次我们搬到一个新地方时都创建一个新的 Presenter 的想法不满意(即使你要加载同一个 Presenter)。事实上,我对此有一个很大的问题,因为我的活动永远不会消失,而且他们会不断接收事件。

4

1 回答 1

0

当 anActivityMapper返回与先前完全相同的Activity实例(引用相等,即==not equals())时,则不会重新启动活动,并且不会触及区域。这是针对那些不经常更改的区域(例如标题或菜单,或主从设置中的区域)的故意优化。这也是CachingActivityMapper(并且FilteredActivityMapper,专门设计用于CachingActivityMapper在主从设置中使用)的原因

在您的情况下,似乎您正在对自己强加一个规则,使您很难利用这种优化:您将当前位置传递给您的活动的构造函数,没有明显的原因。

于 2015-05-17T10:35:46.077 回答