2015-07-22 151 views
0

我從一位朋友那裏聽說,Coading通過RoboGuice得到了更多更簡單更簡單。但是當我讀this時,我發現Official document of Android。在其第二點對筆者說:我應該使用RoboGuice還是其他依賴注入框架?

的Android的官方文件建議,以避免依賴注入 框架,如吉斯或RoboGuice,原因是是它是一個基於反射 庫,它在運行時創建的開銷。即使它傾向於 通過掃描您的代碼 註釋來執行大量的流程初始化,即使您不需要它,也可能需要將大量的代碼映射到RAM中。 (在這裏我想說,因爲它創建註釋類的副本 ,所以它不會在運行時創建的任何開銷,但在 編譯的時候,我們 可以使用Android註釋庫)。

所以我應該使用它或不?任何幫助將得到滿足。

回答

1

是的,它變得越來越容易,但是正如你在上面所述的官方文檔中看到的那樣,依賴注入會降低你的應用性能,因爲它取決於Java's Reflection
但並非所有的依賴注入都在使用反射,如ButterknifeDagger 2,因此它不會影響您的應用性能。 Butterknife使用的

例子:

class ButterknifeActivity extends Activity { 
    @Bind(R.id.title) TextView title; 
    @Bind(R.id.logo) ImageView logo; 

    @Override public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main_activity); 
    ButterKnife.bind(this); 
    } 
} 

隨着Butterknife你不需要調用findViewById,並投它,而不是庫會爲你做的。

+0

嗯... k謝謝...我會試試看... –