我的Android应用程序有多个活动。 MainActivity在其onCreate()方法中构造一个Dagger2组件,并将其分配给一个静态变量,以便任何类都可以调用静态方法MainActivity.getDaggerComponent(),然后为它自己注入依赖关系。Dagger2组件作为静态全局变量
我发现的问题是,当我启动我的VideoPlayerActivity时,MainActivity对象有时会调用onPause()。如果发生这种情况,静态组件变量将被设置为空。稍后,VideoPlayerActivity需要注入它的依赖关系,但没有组件,所以事情就会爆炸。
如何确保Dagger2组件始终可用于所有活动?
在'Application'类中初始化它,或者静态地将它初始化 –
我需要对MainActivity的引用传递到组件的构造函数中,所以我不认为这些方法都可以工作。如果我不必这样做,那将是完美的。 –
然后可能是你在做一个非常错误的事情,试图在另一个Activity中使用一个Activity的依赖关系。这可能会造成内存泄漏,特别是设计问题。你能否提供更多关于你实际试图用依赖注入解决的细节? –