gpt4 book ai didi

android - Dagger 柄 : Scope dependencies for parent-/child-fragments

转载 作者:行者123 更新时间:2023-12-04 14:28:06 36 4
gpt4 key购买 nike

我正在尝试找到如何在某个 fragment 相关场景中定义 Hilt 的解决方案。我有以下设置:

  • Activity
  • 父 fragment 1
  • 子 fragment 1
  • 子 fragment 2
  • ...
  • 子 fragment n-1

  • 父 fragment 2
  • 子 fragment 1
  • 子 fragment 2
  • ...
  • 子 fragment n-1



  • 父 fragment 1 正在使用依赖项 A。该依赖项的实例是我只想在该父 fragment 及其所有子 fragment 之间共享的东西。父 fragment 2 + 它的子 fragment 应该使用与父 fragment 1 + 子 fragment 不同的实例。一般他的结构应该只有 两个 任何给定依赖项的实例——一个用于第一个流,一个用于第二个流。
    我可以看到自定义范围可能在这里工作,但我不确定如何在 Hilt 方面使用它。

    最佳答案

    您可以通过添加 @AndroidEntryPoint 使用 dagger-hilt 来执行此操作在每个 parent Fragment 和他们的 child 看来。然后你的Parent Fragment 1Parent Fragment 2根据 Dagger 解释,将有不同的 fragment 范围和不同的实例。
    请参阅 Dagger 的以下注释:

    A common misconception is that all fragment instances will share thesame instance of a binding scoped with @FragmentScoped. However, thisis not true. Each fragment instance gets a new instance of thefragment component, and thus a new instance of all its scopedbindings.


    另外,请参见下面的 Dagger 图和范围层次结构:
    enter image description here
    更多细节在他们的 documentation .
    此外,除非真的有必要,否则不要使用自定义范围,因为它存在性能和开销问题。

    关于android - Dagger 柄 : Scope dependencies for parent-/child-fragments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67316431/

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