Java GWT依赖项注入



我们现在在项目中有一个类,它在应用程序启动时启动的唯一方法中有1000行bindPresenter(...)。我担心性能:这样的注入会减慢应用程序的速度吗?我说得对吗,这不是懒惰注入,所有呈现者都在应用程序开始时使用所有依赖项进行创建?

我们使用了profiler,看起来注入确实减慢了启动速度,但我们不确定。

我怀疑您的1000条bind语句是否会减慢应用程序的加载时间。来自GWTP的Presenter文档:

每个演示者都与一个代理相关联,该代理负责收听这位演讲者感兴趣的各种事件。这使得延迟实例化成为可能演示者,并使用GWT代码拆分。

由于Presenter是惰性实例化的,所以启动缓慢可能是由其他原因造成的。

有一件事可能会减慢你的加载时间,那就是如果你进行大量的PresenterWidget注入,而不使用Gin的Providers:

@Inject
ParentPresenter(
  SomePresenterWidget a, 
  SomePresenterWidget b) {
  // ...
}

像这样注入许多PresenterWidget需要提前构建PresenterWidget,这可能会导致加载速度减慢。您可以使用Provider s延迟加载PresenterWidget s:

@Inject
ParentPresenter(
  Provider<SomePresenterWidget> a, 
  Provider<SomePresenterWidget> b) {
  // ...
}

并且仅在需要时使用CCD_ 12来实例化CCD_。

相关内容

  • 没有找到相关文章

最新更新