我正考虑在我的应用程序中使用Dagger。我还想使用一个视图注入库,它给我很多功能,以节省编写代码的时间,但另一方面,它不应该是大尺寸和昂贵的性能。
AndroidAnnotations和Butterknife之间是否存在重大差异?
答案 0 :(得分:36)
如果您只想通过注入视图(或设置点击侦听器)来减少应用程序中的样板代码,则可以从Butterknife
开始。它速度快,体积小,使用简单。它旨在注入视图,侦听器和其他UI相关对象。
如果你想注入更多的东西,如系统服务,或强制方法在后台或UI线程中运行,或者注入动画等资源,你应该追求AndroidAnnotations
。您将面临的一个小缺点是,对于要增强的每个类,将生成具有相同名称的新类以及末尾的“_”。因此,在调用活动或创建片段时,您将不得不习惯使用此类名称。如果这不是您的问题,请使用它。这两个库都生成代码,因此在运行时不应该有任何性能损失。
Dagger
不适用于注入视图。 Dagger
允许您更好地构建代码并定义不同组件之间的可注入依赖项。如果掌握它,它会非常强大,但它不会取代Butterknife
。