ButterKnife vs RoboGuice

ButterKnife vs RoboGuice

当涉及到Android上的依赖注入(DI)类库的时候,存在不少的选择,我在公司项目中用了RoboGuice,现在非常后悔。最开始认为RoboGuice节约了大量的时间。较少的代码意味着较少的错误,较少的样板代码意味着可以把更多的时间放到应用的核心逻辑上。

比较 RoboGuice ButterKnife
所需的最少jar包 3 (roboguice-2.0.jar, javax.inject-1.jar and guice-3.0-no_aop.jar) 1 (butterknife-4.0.1.jar)
是否需要替代Activity 需要,RoboActivity替代Activity 不需要
与ActionBarSherlock的兼容性 兼容,需添加roboguice-sherlock-1.5.jar包到应用并且用RoboSherlockActivity替换SherlockActivity 兼容,不需要额外jars包
单击监听器的注入 不支持 支持
性能 运行时采取反射机制有性能影响 没有采取反射而使用了预编译技术,因为基于反射的DI非常占用资源和耗时
POJO注入 支持 不支持
Fragments注入 支持 支持
适配器注入 不支持 支持
代码协议 Apache License 2.0 Apache License 2.0
链接 Rroboguice Link Butterknife Link
I Don't Want Your Money, I Want Aragaki Yui.