Butterknife vs AndroidAnnotations

我正在考虑在我的应用程序中使用Dagger 。 我也想使用一个视图注入库,它为我提供了很多function来节省编写代码的时间,但另一方面,它不应该在性能上占用大量的代价。

AndroidAnnotations和Butterknife之间有什么重大区别吗?

如果您只想通过注入视图(或设置点击监听器)来减less应用程序中的样板代码,则可以从Butterknife开始。 它速度快,体积小,使用简单。 它旨在注入视图,侦听器和其他UI相关的对象。

如果你想注入更多的东西像系统服务,或者强制方法在后台或UI线程中运行,或者注入像animation等资源,你应该在AndroidAnnotations之后。 你将要面对的小缺点是,对于每一个你想要增强的课程,都会在同一个名字加上“_”来生成一个新的课程。 因此,在调用活动或创build片段时,必须习惯使用这些名称。 如果这不是你的问题,只要使用它。 两个库都生成代码,所以在运行时不应该有任何性能损失。

Dagger不是意图注射。 Dagger允许你更好地构build你的代码,并定义不同组件之间的注入依赖关系。 如果你掌握它,它是非常强大的,但它并不能取代Butterknife