我只是在 Android 中使用 Dagger2 进行 DI 实现。
我的查询与我面临的问题无关,而只是获取知识。
我打算在我的 Activity 中注入(inject)一个类,并将其传递给我的 ViewModel 类。这是遵循依赖注入(inject)最佳实践的好方法吗?是否会出现与泄漏或性能相关的任何问题。
最佳答案
不,事实并非如此。您应该使用 scope
并在您的 ViewModel
中实现注入(inject)。
您尝试做的事情违背了依赖注入(inject)背后的想法。依赖注入(inject)库根据您的模型创建依赖树,然后允许您在应用程序中使用该树。
- 如果每次都进行初始化,您将不知道对象的当前状态。
- 大多数时候,您需要某个范围内的一个实例,例如内部 Activity 或 fragment ......这个问题可以通过
Dagger2
轻松解决
范围确保给定范围内只有一个实例。
关于java - 我们可以在另一个类中传递注入(inject)的对象吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56595347/