在开发程序的时候,会用到各种对象,很多对象在使用之前都需要进行初始化。例如你要操作一个SharedPreference,你需要调用getSharedPreferences(String name,int mode)来获取一个对象,然后才能使用它。而如果这个对象会在多个Activity中被使用,你就需要在每个使用的场景中都写下同样的代码。这不仅麻烦,而且增加了出错的可能。依赖注入让你不需要初始化对象。换句话说,任何对象声明完了就能直接用。
当涉及到Android上的依赖注入(DI.dependency injection)类库的时候,存在不少的选择,但怎么知道哪一个最适合你呢?下面将针对目前比较流行的三种依赖注入框架(Dagger、RoboGuice和ButterKnife)做进一步的对比和分析。