私の Android アプリには複数のアクティビティがあります。MainActivity はその onCreate() メソッドで Dagger2 コンポーネントを構築し、それを静的変数に割り当てます。これにより、クラスは静的メソッド MainActivity.getDaggerComponent() を呼び出して、依存関係を自分自身に注入できます。
私が発見した問題は、VideoPlayerActivity を起動すると、MainActivity オブジェクトが onPause() を呼び出すことがあるということです。これが発生すると、静的コンポーネント変数が null に設定されます。後で、VideoPlayerActivity はその依存関係を注入する必要がありますが、コンポーネントがないため、問題が発生します。
すべてのアクティビティで Dagger2 コンポーネントを常に使用できるようにするにはどうすればよいでしょうか?