我正在考虑在我的应用程序中使用Dagger。我还想使用一个视图注入库,它可以为我节省编写代码的时间并提供大量功能,但另一方面它不应该太大并且在性能方面不应该过于昂贵。
AndroidAnnotations和Butterknife之间有什么主要差异吗?
我正在考虑在我的应用程序中使用Dagger。我还想使用一个视图注入库,它可以为我节省编写代码的时间并提供大量功能,但另一方面它不应该太大并且在性能方面不应该过于昂贵。
AndroidAnnotations和Butterknife之间有什么主要差异吗?
Butterknife
开始。它速度快、体积小、使用简单,旨在注入视图、监听器和其他 UI 相关对象。
如果你想要注入更多的东西,如系统服务,或强制方法在后台或UI线程中运行,或注入动画等资源,你应该选择 AndroidAnnotations
。唯一的小缺点是,对于每个要增强的类,都会生成一个带有相同名称加上“_”结尾的新类。因此,在调用活动或创建片段时,您将不得不习惯使用这些名称。如果这对你来说不是问题,那就直接使用吧。这两个库都会生成代码,因此你不应该在运行时面临性能损失。
Dagger
不适用于视图注入。它允许你更好地组织代码,并定义不同组件之间可注入的依赖关系。如果你掌握了它,它非常强大,但不能替代 Butterknife
。