首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dagger和Dagger2.0有什么区别?

Dagger和Dagger2.0有什么区别?
EN

Stack Overflow用户
提问于 2015-01-11 15:12:03
回答 3查看 2.9K关注 0票数 4

Dagger和Dagger2.0之间有什么区别,为什么Google决定启动现有的项目?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-11 21:19:41

一些来自Dagger 2 presentation的引语

匕首问题1:

  • 丑陋生成代码
  • 运行时图合成
  • 低效图生成
  • 部分可追溯性
  • 地图样API

匕首2解决方案:

  • 图的编译时验证
  • 易于调试;提供和创建完全具体的调用堆栈
  • 完全可追溯
  • POJO API
  • 性能

匕首2期:

  • 不太灵活
  • 无动力
  • 从Guice没有自动迁移路径
票数 6
EN

Stack Overflow用户

发布于 2020-03-16 19:17:39

匕首1.0

  • 一些反射API用于生成代码。
  • 反射很慢。
  • 异常不会在编译时捕获。

Dagger 2.0

  • 在构建时使用注释处理器生成代码。
  • 注释处理器速度快。
  • 只在编译时捕获异常。
票数 0
EN

Stack Overflow用户

发布于 2020-10-21 06:21:01

Dagger1.x:它是一个由Square创建的运行时依赖注入框架。它是基于反射的解决方案,它在运行时连接依赖项。现在,谷歌不再支持谷歌的Dagger2了。

有用的链接:

https://github.com/square/dagger

https://square.github.io/dagger/

一些缺点是:

  • 使用慢反射API,这在Android中甚至更慢。
  • 性能开销
  • 可跟踪性和运行时图组合较少

Dagger2.x:它是由Square创建、现在由谷歌维护的早期版本的改编版。Dagger2是编译时依赖注入框架,它生成代码以在编译时连接依赖项。

Dagger2的优势:

  • 不再有反射API
  • 更好的生成代码作为手工编写,所以更可追溯。
  • 提高性能的速度几乎是Dagger1的10倍。
  • 模块需要较少的配置

Dagger2的一些有用链接:

https://github.com/google/dagger

https://dagger.dev/

如果您仍然在使用dagger1,下面是从dagger1到dagger2 https://dagger.dev/dev-guide/dagger-1-migration.html的迁移指南

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27888580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档