最近调研了Android平台可以使用的依赖注入框架。发现现在常用的有四种。Dagger、Butter Knife、RoboGuice、Android Annotations。经过一系列的比较,最后我们的选择
的范围缩小到Dagger、Butter Knife这2个框架上。其实在国内外使用的比较多的应该是Dagger。但是我觉得还是有点复杂了,再看jakewharton的blog时,他也提到了dagger,我
摘抄了他在*上回答Difference between Dagger and ButterKnife Android这个问题的答案。简单翻译下,有人说Butter Knife只是简单是做了绑定View的操作,不是
真正的inject。Dagger才是真正的inject。jakewharton在下面回复了说如果使用了Dagger,在View注入上你会想死。(哈哈,有点争锋相对的意思。)。Butter Knife的确不是
严格意义上的注入,之所以会叫View injection,是因为一些在使用dagger的人说view injection太麻烦了。所以才会有Butter Knife的诞生。Butter Knife就是这么简单粗暴,你可
以直接叫他是findViewById
都没问题。(哈哈,真的有点生气了!)
好了,到这里,应该明白ButterKnife和Dagger的不同了,其实应该说ButterKnife是Dagger的补充,ButterKnife只专注于View的注入。其他的就使用Dagger吧。我
们目前就准备采用ButterKnife,后期再配合Dagger的使用策略。希望能帮助再二者见犹豫的朋友。