gpt4 book ai didi

android - 如何在 Activity 之间共享 Dagger2 子组件

转载 作者:太空宇宙 更新时间:2023-11-03 12:31:38 27 4
gpt4 key购买 nike

我想知道如何在 Activity 之间共享子组件?

假设我有一个与应用程序一起存在的全局 AppComponent。

当用户实际登录我的应用程序时,我想要一个跨多个 Activity 的 UserComponent。

当用户登录时,我的应用会创建一个 UserComponent,其他 Activity 必须从某个地方检索它,但我不知道什么是最好的“某个地方”。

我应该将 UserComponent 存储在应用程序中并创建一个 getter 和一个重置组件的方法吗?我是否应该将此组件放在 ApplicationModule 内的“holder”对象中,并在每个子 Activity 中通过从 ApplicationComponent 获取“holder”来检索我的组件?我应该将它存储在静态字段中吗?我应该做点别的吗?

最佳答案

因为您负责子组件的生命周期,所以我会使用额外的 getter 和 setter 将其存储在 Application 对象中。只有一个地方一直存在并且可以存储全局对象。

包装器?是的,如果你想要更复杂的生命周期,但它仍然会存储在应用程序中。

您必须记住,Application 对象也可能被终止,因此您应该能够恢复您的 UserComponent。

这里是我的简单案例,其中包含源代码,展示了 UserComponent 如何工作:http://frogermcs.github.io/dependency-injection-with-dagger-2-custom-scopes/

关于android - 如何在 Activity 之间共享 Dagger2 子组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32172190/

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