2014-09-24 215 views
0

我們現在在我們的項目中有一個類,其中1000行bindPresenter(...)是其唯一方法,在應用程序啓動時啓動。我擔心的是性能:這種注射會減慢應用程序嗎?我是對的,它不是懶惰的注入,並且所有的提交者都在應用程序的開始創建所有的依賴關係?Java GWT依賴注入

我們使用了分析器,它似乎像注射真的開始減速,但我們不確定。

謝謝!

回答

3

我懷疑你的1000個bind語句會減慢你的應用程序的加載時間。從GWTP's Presenter docs

每個演講者相關的代理負責監聽的這個演講感興趣的 各種活動。這可以讓演示者懶洋洋地實例化 並使用GWT代碼拆分。

由於Presenter s爲懶惰的實例化,你的慢啓動可能被其他的財產以後造成的。這可能會拖慢網頁加載時間

的一件事是,如果你做粗重PresenterWidget注射,無需使用杜松子酒的Provider S:

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

注入許多PresenterWidget就像這需要建立PresenterWidget s提高前,其可能會導致加載速度減慢。你可以使用Provider s到延遲加載PresenterWidget S:

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

,只使用provider.get()需要的時候實例化PresenterWidget秒。