我的 Android 应用程序有多个活动。MainActivity 在其 onCreate() 方法中构造了一个 Dagger2 组件并将其分配给一个静态变量,因此任何类都可以调用静态方法 MainActivity.getDaggerComponent() 来为自己注入依赖项。
我发现的问题是,当我启动 VideoPlayerActivity 时,MainActivity 对象有时会调用其 onPause()。如果发生这种情况,静态组件变量将设置为 null。稍后,VideoPlayerActivity 需要注入它的依赖项,但是没有组件,所以事情就搞砸了。
如何确保 Dagger2 组件始终可用于所有活动?