gpt4 book ai didi

android - Hilt 会取代 Dagger2 吗?

转载 作者:行者123 更新时间:2023-12-03 13:45:34 29 4
gpt4 key购买 nike

深入研究 Google 的 DI 框架 Dagger2 以决定在中型应用程序中使用 DI 框架,我还注意到 Hilt
所以根据它的概述描述:
Hilt 通过代码为您生成 Dagger 设置代码来工作。这消除了使用 Dagger 的大部分样板,实际上只留下了定义如何创建对象以及在何处注入(inject)它们的方面。 Hilt 将生成 Dagger 组件和代码以自动为您注入(inject)您的 Android 类(如 Activity 和 fragment )。
Hilt 根据您的传递类路径生成一组标准的 Android Dagger 组件。这需要用 Hilt 注释标记你的 Dagger 模块,以告诉 Hilt 它们应该进入哪个组件。在您的 Android 框架类中获取对象是通过使用另一个 Hilt 注释来完成的,该注释会将 Dagger 注入(inject)代码生成到您将扩展的基类中。对于 Gradle 用户,扩展这个类是通过底层的字节码转换来完成的。
1.它既没有取代Dagger2也不是它的继任者?
2. Hilt 是 Dagger2 的附加功能,从而简化了 Dagger2 的使用?
3. 除了还在Alpha,还有什么缺点吗?

最佳答案

Does Hilt replace Dagger2?


不,Hilt 在引擎盖下仍然使用 Dagger。您可以将其视为 自以为是的 Dagger 扩展 对于安卓。我说固执己见,因为它对使用普通 Dagger 与使用 Hilt 所做的事情有一些限制,后者具有刚性组件结构,但同时这消除了使用 Dagger 的大部分样板。
您的问题也可以作为答案...
  • 它既没有取代 Dagger2 也不是它的继任者
  • Hilt 是 Dagger2 的附加功能,它简化了 Dagger2 的使用

  • Are there any disadvantages, other than it is still in Alpha?


    好吧,它处于 alpha 阶段,情况可能会发生变化。在生产中使用它之前,我肯定会等待。
    与普通 Dagger 或 dagger.android 相比的好处是,由于严格的组件关系结构,它应该更易于设置。这也允许 Hilt 删除一些样板文件并使设置不那么冗长。它应该使集成更容易。
    但同时这也是它的缺点。您可以使用普通的 Dagger 构建各种依赖关系图,而 Hilt 将您限制在其预定义的结构中。所以 might not be as powerful当涉及到大型和复杂的项目时。

    关于android - Hilt 会取代 Dagger2 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62898880/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com