gpt4 book ai didi

Java GWT 依赖注入(inject)

转载 作者:行者123 更新时间:2023-12-01 22:41:47 26 4
gpt4 key购买 nike

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

我们使用了探查器,看起来注入(inject)确实减慢了启动速度,但我们不确定。

最佳答案

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

Each presenter is associated to a Proxy which is responsible for listening to the various events of interest for this presenter. This makes it possible to lazily instantiate the presenter and use GWT code splitting.

由于 Presenter 是延迟实例化的,因此启动缓慢可能是由其他原因引起的。

可能会减慢加载时间的一件事是,如果您进行大量 PresenterWidget 注入(inject),而不使用 Gin 的 Provider:

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

像这样注入(inject)许多 PresenterWidget 需要预先构建 PresenterWidget,这可能会导致加载速度减慢。您可以使用 Provider 来延迟加载 PresenterWidget:

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

并且仅在需要时使用 provider.get() 实例化 PresenterWidget

关于Java GWT 依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26014872/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com