保留匕首 2 子组件

Retaining Dagger 2 Subcomponent

是否可以通过配置更改为 activity 保留 Dagger 2 子组件? 似乎只有两种可能的解决方案是:

这两个解决方案看起来都很混乱 - 有没有人用更简洁的解决方案解决了这个问题?

你的问题听起来像是你不应该尝试做的事情。

创建并依赖于 activity 的组件可能会引用 activity。保留该组件听起来像是内存泄漏的主要原因。

当您的配置更改时,activity 将被销毁,并且与其关联的所有内容 也应被销毁。

所以你提到的——将状态保存在包 onSaveInstanceState 中并重新创建它——对我来说听起来是最干净的解决方案。