我们应该在另一个类中传递注入的对象吗

时间:2019-06-14 09:33:19

标签: java android kotlin dependency-injection dagger-2

我只是在玩Dagger2,以便在Android中实现DI。

我的查询与我所面临的问题无关,而只是对知识的了解。

我打算在Activity中注入一个类,并希望将其传递给ViewModel类。这是遵循依赖注入最佳实践的好方法吗?是否会出现与泄漏或性能有关的任何问题。

1 个答案:

答案 0 :(得分:1)

不,不是。您应该使用scope并在ViewModel内部进行注入。

您试图做的是违背依赖注入的想法。依赖注入库基于Models创建一个依赖树,然后允许您在应用程序中使用此树。

  • 如果每次都进行初始化,则不知道对象的当前状态是什么。
  • 大多数时候,您需要某个范围内的实例(例如内部活动或片段)... Dagger2可以轻松解决此问题

范围确保给定范围内只有一个实例。