2014-01-22 38 views
21

我正在考慮在我的應用程序中使用Dagger。我也想使用一個視圖注入庫,它爲我提供了很多功能來節省編寫代碼的時間,但另一方面,它不應該在性能上佔用大量的代價和昂貴。Butterknife vs AndroidAnnotations

AndroidAnnotationsButterknife之間是否有重大區別?

+0

發佈了鏈接以說清楚 – AdrianoCelentano

+17

爲什麼地球上這個「基於意見」被封閉。所有的技術答案都有一定的意見。幫助某人選擇框架的指南當然不是Stack Overflow的主題?嘖。 – RichieHH

回答

34

如果您只想通過注入視圖(或設置點擊偵聽器)來減少應用程序中的樣板代碼,則可以從Butterknife開始。它速度快,體積小,使用簡單。它旨在注入視圖,偵聽器和其他UI相關的對象。

如果你想注入更多的東西像系統服務,或者強制方法在後臺或UI線程中運行,或者注入像動畫等資源,你應該去AndroidAnnotations之後。您將要面對的小缺點是,對於每個想要增強課程的課程,將在末尾使用相同的名稱和「_」生成新課程。因此,您在調用活動或創建片段時必須習慣使用這些名稱。如果這不是您的問題,請使用它。這兩個庫都生成代碼,所以在運行時不應該有任何性能損失。

Dagger不適用於意見注射。 Dagger允許您更好地構建代碼並定義不同組件之間的注入依賴關係。如果你掌握它,它是非常強大的,但它不會取代Butterknife

+0

我剛纔提到了Daggger,因爲我不確定Compabilty。 在我使用Roboguice之前,現在我需要切換,因爲它不適合使用android批註。 – AdrianoCelentano