Java 在不访问应用程序的情况下获取Dagger组件

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

我想在类中使用注入,比如适配器或自定义对象,它们不能访问扩展应用程序的MyApplication类。 如何访问组件

使用下面这样的静态方法好吗

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特性的如此优秀和高级的教程