Java 在不访问应用程序的情况下获取Dagger组件
我想在类中使用注入,比如适配器或自定义对象,它们不能访问扩展应用程序的MyApplication类。 如何访问组件 使用下面这样的静态方法好吗Java 在不访问应用程序的情况下获取Dagger组件,java,android,dagger-2,dagger,Java,Android,Dagger 2,Dagger,我想在类中使用注入,比如适配器或自定义对象,它们不能访问扩展应用程序的MyApplication类。 如何访问组件 使用下面这样的静态方法好吗 public class MyApplication extends Application { private static MyComponent component; @Override public void onCreate() { super.onCreate(); componen
public class MyApplication extends Application {
private static MyComponent component;
@Override
public void onCreate() {
super.onCreate();
component = DaggerMyComponent.builder()
.appModule(new AppModule(this))
.helperModule(new HelperModule())
.build();
}
public static MyComponent getComponent(){return component;}
}
我认为在这种情况下使用静态对象会导致内存泄漏。 您可能会遵循如下所示的“注入一切”模式 它的本质是什么?尝试将需要
组件的对象注入到已注入的对象中。在本文中,Adapter
和ViewHolder
(任何对象)被注入活动(以及适配器内的对象)。这就是你想要达到的目标
我还建议您阅读他所有关于Dagger2的文章,因为我还没有看到关于Dagger2特性的如此优秀和高级的教程