2014-01-22 41 views
21

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

AndroidAnnotationsButterknife之间是否有重大区别?

+0

发布了链接以说清楚 – AdrianoCelentano

+17

为什么地球上这个“基于意见”被封闭。所有的技术答案都有一定的意见。帮助某人选择框架的指南当然不是Stack Overflow的主题?啧。 – RichieHH

回答

34

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

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

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

+0

我刚才提到了Daggger,因为我不确定Compabilty。 在我使用Roboguice之前,现在我需要切换,因为它不适合使用android批注。 – AdrianoCelentano