Android注解框架Dagger ,Butterknife 和AndroidAnnotations以及RoboGuice的比较
2015-08-08 22:14
537 查看
http://stackoverflow.com/questions/24351817/dagger-and-butter-knife-vs-android-annotations
这片文章的答案,简单的介绍了三种注解框架(Dagger,Butterknife以及AA)的异同以及简单的比较。
RoboGuice是Google官方的注解框架,不过每个类都需要继承RoboActivity。
下面进行客观的对比:
Github关注度:
(1)Roboguice https://github.com/roboguice/roboguice
(2)Butterknife https://github.com/JakeWharton/butterknife
(3)Dagger https://github.com/square/dagger
(4)AndroidAnnotations https://github.com/excilys/androidannotations
由此可见,AndroidAnnotations在国际的使用频率较前面的高。
那么,其他方面呢?
AndroidAnnotations的使用也较其他的注解框架好用。具体用过之后都可以知道,其次,不同于Butterknife,AA实在编译时执行生成代码,在运行应用时,对性能没有影响。
Butterknife会在应用运行时反射执行,可能会有一些性能方面的影响。
PS:通过分析其他的App,比如“英语流利说”使用的就是butterknife作为注解框架,同时使用Retrofit作为网络请求框架。
而其他的App也大部分使用butterknife作为注解框架,可能是用的比较多吧。具体使用的时候可以作为权衡来比较难易度而后选择一个适合自己的才是王道。
本文仅简单的比较一下,具体的使用及用法还请自行查阅相关资料。
这片文章的答案,简单的介绍了三种注解框架(Dagger,Butterknife以及AA)的异同以及简单的比较。
RoboGuice是Google官方的注解框架,不过每个类都需要继承RoboActivity。
下面进行客观的对比:
Github关注度:
(1)Roboguice https://github.com/roboguice/roboguice
(2)Butterknife https://github.com/JakeWharton/butterknife
(3)Dagger https://github.com/square/dagger
(4)AndroidAnnotations https://github.com/excilys/androidannotations
由此可见,AndroidAnnotations在国际的使用频率较前面的高。
那么,其他方面呢?
AndroidAnnotations的使用也较其他的注解框架好用。具体用过之后都可以知道,其次,不同于Butterknife,AA实在编译时执行生成代码,在运行应用时,对性能没有影响。
Butterknife会在应用运行时反射执行,可能会有一些性能方面的影响。
PS:通过分析其他的App,比如“英语流利说”使用的就是butterknife作为注解框架,同时使用Retrofit作为网络请求框架。
而其他的App也大部分使用butterknife作为注解框架,可能是用的比较多吧。具体使用的时候可以作为权衡来比较难易度而后选择一个适合自己的才是王道。
本文仅简单的比较一下,具体的使用及用法还请自行查阅相关资料。
相关文章推荐
- druid 数据源的配置
- Implement Stack using Queues
- 卡尔曼滤波融合库函数+Arduino实例
- iOS开发概述-13.UI控件图层属性CALayer
- UINavigationController 与其传值
- UI05_手势识别器
- iOS开发——UI进阶篇(十八)核心动画小例子,转盘(裁剪图片、自定义按钮、旋转)图片折叠、音量震动条、倒影、粒子效果
- UI, 猜数字游戏的实现
- UITableView
- 【Android UI】ViewPage
- leetcode - Unique Paths II
- UIStepper
- UIScrollView 按页面滚动视图 UIPageControl
- POJ2478 Farey Sequence(欧拉函数,打表)
- Pixel Width of the text in a UILabel
- UITableView省市区字典
- UI05_Control(UIStepper加减音量/UIBlurEffect毛玻璃/UISlider滑动/UISegmentedControl小模块)
- [leetcode] Implement Queue using Stacks
- UIButton的一些常用知识点
- [leetcode 234]Implement Queue using Stacks